Por que o `md5sum` não fornece o mesmo hash da Internet?

8

Quero encontrar o hash md5 da string "a", mas a execução echo "a" | md5summe dá outro hash do que eu recebo se pesquisar na Internet (por exemplo, usando DuckDuckGo ou o primeiro resultado de pesquisa que encontrei ).

A execução echo "a" | md5sumfornece "60b725f10c9c85c70d97880dfe8191b3", mas deve ser "0cc175b9c0f1b6a831c399e269772661".

Se eu fizer uma pesquisa de hash reversa para "60b725f10c9c85c70d97880dfe8191b3", no entanto, recebo "a".

lindhe
fonte

Respostas:

15

A razão para os hashes serem diferentes é que echoinclui uma nova linha no final da string de saída para torná-la bonita. Isso pode ser proibido pela -nbandeira (se a sua implementação echosuportar), ou usando outro programa (como printf):

> echo "a" | md5sum   
60b725f10c9c85c70d97880dfe8191b3  -

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

> printf "a" | md5sum 
0cc175b9c0f1b6a831c399e269772661  -
lindhe
fonte
2
echoadiciona uma nova linha à saída para torná-la uma linha completa, não para torná-la bonita.
Kusalananda
@Kusalananda Digitar printf textfaz com que o texto apareça na frente da próxima linha de prompt.
neverMind9