
Envoyé par
aminus19
Je suis entrain de manipuler les hash MD5 en C, ces hash sont stockés dans un unsigned char hash[16]. Or chaque case du tableau contient deux caractères.
Es tu sûr que cela soit 2 caractères.
Un hash MD5 fait 128 bits et 128 bits, malgré tous les efforts des informaticiens, se stockent dans un tableau de 16 unsigned char.
Tes 16 unsigned char ne sont donc pas des caractères mais des nombres qui vont de 0 à 255
Maintenant, si tu veux les représenter sous forme hexa (dans le genre 255 ==> "0xff" et 192 ==> "0xc0") ton problème est un problème de changement de représentation.
printf("0x%.2x", table[0]);
devait faire l'affaire pour le 1er élément de ton tableau, pour les autres, à toi de jouer.
Partager