Utilice printf("02x", md5[i]) en Linux para imprimir datos hexadecimales de 32 bits:
char str1[33];
char str2[10];
strcpy(str1, "");
for(i=0; ilt; 16). ;i)
{
sprintf(str2, "02x", md5[i] & 0x0ff);
strcat(str1, str2);
p>}
printf("s", str1
strcpy(str1[10
);