11
votes

Le SHA1 d'une chaîne retourne-t-il toujours des caractères ASCII?

La chaîne d'entrée peut être une chaîne unicode.De la chaîne de sortie après le calcul de SHA1 retournera toujours des caractères ASCII?


0 commentaires

3 Réponses :


4
votes

SHA1 retourne une chaîne binaire. Certaines fonctions SHA1 peuvent, en tant que commodité, encoder également cette chaîne binaire en hexadécimale ou à base64 - le cas échéant, le résultat sera des caractères ASCII. Mais SHA1 lui-même ne retourne pas ASCII.


1 commentaires

Exposer à ce sujet, SHA1 renvoie un (grand) numéro. Certains choisissent de représenter ce nombre en tant que chaîne de caractères hexdécimaux. Toutefois, si vous appelez à une bibliothèque qui a une fonction SHA1, n'attendez pas nécessairement que cela vous permet de récupérer une chaîne ASCII. Toujours RTFM.



5
votes

SHA1 retourne 20 octets. SHA1 ne traite pas de codages, de texte, d'ASCII, etc.

Un moyen courant de représenter des données binaires est en le codant en hexadécimal - dans ce cas, la sortie est toujours [A-F] [0-9]


0 commentaires

9
votes

Cela dépend mais strictement de parler, non. La sortie du hachage SHA-1 est de 160 bits, ou 20 octets, mais les octets ne sont pas garantis dans la plage ASCII.

Cependant, certaines fonctions de hachage émettent l'équivalent hexagonal (soit 40 caractères) des 20 octets, de sorte que si les trois premiers octets du hachage réel sont 0x7e, 0x03 et 0xB2, la sortie commencerait par "7e03B2", dans quel cas la sortie est ascii.


0 commentaires