Perché `md5sum` non dà lo stesso hash di Internet?


8

Voglio trovare l'hash md5 della stringa "a", ma l'esecuzione echo "a" | md5summi dà un altro hash rispetto a quello che ottengo se cerco su Internet (ad esempio usando DuckDuckGo o il primo risultato di ricerca che ho trovato ).

L'esecuzione echo "a" | md5summi dà "60b725f10c9c85c70d97880dfe8191b3", ma dovrebbe essere "0cc175b9c0f1b6a831c399e269772661".

Se eseguo una ricerca hash inversa per "60b725f10c9c85c70d97880dfe8191b3", ottengo comunque "a".

Risposte:


15

Il motivo per cui gli hash sono diversi è che echoinclude una nuova riga alla fine della stringa di output per renderla carina. Questo può essere proibito dalla -nbandiera (se la tua implementazione echolo supporta), o usando un altro programma (come printf):

> echo "a" | md5sum   
60b725f10c9c85c70d97880dfe8191b3  -

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

> printf "a" | md5sum 
0cc175b9c0f1b6a831c399e269772661  -

2
echoaggiunge una nuova riga all'output per renderla una linea completa, non per renderla carina.
Kusalananda

@Kusalananda La digitazione printf textfa apparire il testo davanti alla riga di prompt successiva.
neverMind9
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.