Pourquoi «md5sum» ne donne-t-il pas le même hachage qu'Internet?

8

Je veux trouver le hachage md5 de la chaîne "a", mais courir echo "a" | md5summe donne un autre hachage que ce que j'obtiens si je recherche sur Internet (par exemple en utilisant DuckDuckGo ou le premier résultat de recherche que j'ai trouvé ).

L'exécution echo "a" | md5summe donne "60b725f10c9c85c70d97880dfe8191b3", mais cela devrait être "0cc175b9c0f1b6a831c399e269772661".

Si je fais une recherche de hachage inversée pour "60b725f10c9c85c70d97880dfe8191b3", j'obtiens cependant "a".

lindhe
la source

Réponses:

15

La raison pour laquelle les hachages sont différents est qu'il echoinclut une nouvelle ligne à la fin de la chaîne de sortie pour la rendre jolie. Cela peut être interdit par le -ndrapeau (si votre implémentation le echoprend en charge), ou en utilisant un autre programme (comme printf):

> echo "a" | md5sum   
60b725f10c9c85c70d97880dfe8191b3  -

> echo -n "a" | md5sum
0cc175b9c0f1b6a831c399e269772661  -

> printf "a" | md5sum 
0cc175b9c0f1b6a831c399e269772661  -
lindhe
la source
2
echoajoute une nouvelle ligne à la sortie pour en faire une ligne complète, pas pour la rendre jolie.
Kusalananda
@Kusalananda La saisie printf textfait apparaître le texte devant la prochaine ligne d'invite.
neverMind9