Je ne suis pas sûr de savoir si je traduis ou convertis correctement un unsigned char*
en un signed char*
normal? Le unsigned char*
est une chaîne qui a été hachée. Le code suivant convertit-il correctement un unsigned char*
en signed char*
?L'affichage d'un char * non signé et d'un char signé * doit-il afficher exactement le même résultat?
std::string message = "to be encrypted";
unsigned char hashMessage[SHA256_DIGEST_SIZE];
SHA256::getInstance()->digest(message, hashMessage);
// is this conversion correct
char* hashMessageSigned = reinterpret_cast<char*>(hashMessage);
printf("Unsigned Char Hash: %s\n", hashMessageSigned); // The 2 printf's print out exactly the same strings is that correct?
printf("Signed Char Hash: %s\n", hashMessage);
Que fait la documentation de la bibliothèque que vous utilisez dire digest()? (il renvoie probablement une représentation binaire de la valeur de hachage, vous devez la convertir en quelque chose d'imprimable, par exemple une chaîne hexadécimale, avant de l'imprimer) – nos
et quelle est exactement la partie C de votre question? – wildplasser
Il est noté "régulier" à propos du caractère signé. Les types 'char',' signed char' et 'unsigned char' sont trois types différents, distinctifs et indépendants. Le type 'char' n'est pas nécessairement signé. – AnT