Сбой HMAC_Init при расчете HMAC-SHA1 - PullRequest
0 голосов
/ 20 декабря 2011

Вот мой код:

int function(const char * buffer,size_t len,unsigned char * value)  
{   

char* user = "username";  
char*password = "password";  
size_t text_len = strlen(user) + strlen(password) + 2;  
  unsigned char* key = (unsigned char*)calloc(1,16);  
  unsigned char* text= (unsigned char *)calloc(1,text_len);  

  snprintf((char*)text, text_len, "%s:%s",user,password );  

MD5(text, text_len-1, key)

  HMAC_CTX *ctx = NULL;  
  unsigned int md_len = 20;  
  ctx = (HMAC_CTX*) calloc(1,sizeof(HMAC_CTX));  
  if(ctx == NULL){return -1;}

  HMAC_CTX_init(ctx);  
  `HMAC_Init(ctx, key, 16, EVP_sha1());`  //crashing everytime, saying heap corruption
  HMAC_Update(ctx, buffer, len);  
  HMAC_Final(ctx, value, &md_len);   

  HMAC_CTX_cleanup(ctx);  
return 0;  
}

Я использую openssl 0.9.8.c.Если кто-то сталкивался с этой проблемой, пожалуйста, дайте мне знать.

1 Ответ

1 голос
/ 06 февраля 2012

Согласно справочной странице HMAC_Init устарела.Возможно, стоит попробовать HMAC_Init_ex.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...