Я использую следующий код для печати md5 и создаю строку
char *hash = (char*)malloc(32 * sizeof(char));
unsigned *d = md5(msg, strlen(msg));
MD5union u;
printf("\n\n\nThe MD5 code for input string is : \n");
for (j=0;j<4; j++){
u.w = d[j];
for (k=0;k<4;k++)
{
char *mVal = (char*)malloc(sizeof(char));
sprintf(mVal, "%02x",u.b[k]);
strcat(hash, mVal);
printf("%02x",u.b[k]);
}
}
printf("\n\n\nThe MD5 code for input string is :%s \n", hash);
Мой вывод
The MD5 code for input string is :
187ef4436122d1cc2f40dc2b92f0eba0
The MD5 code for input string is :p��187ef4436122d1cc2f40dc2b92f0eba0
Почему в моем хэш-значении p��
дополнительно