GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum liefert `md5sum` nicht den gleichen Hash wie das Internet?

Ich möchte den md5-Hash der Zeichenfolge "a" finden, aber echo "a" | md5sum gibt mir einen anderen Hash als das, was ich bekomme, wenn ich im Internet suche (zum Beispiel mit DuckDuckGo oder dem ersten Suchergebnis, das ich gefunden habe).

Ausführen von echo "a" | md5sum gibt mir „60b725f10c9c85c70d97880dfe8191b3“, aber es sollte „0cc175b9c0f1b6a831c399e269772661“ sein.

Wenn ich einen Reverse-Hash-Lookup nach „60b725f10c9c85c70d97880dfe8191b3“ durchführe, bekomme ich jedoch „a“.

Akzeptierte Antwort:

Der Grund für die unterschiedlichen Hashes ist das echo enthält einen Zeilenumbruch am Ende der Ausgabezeichenfolge, um ihn hübsch zu machen. Dies kann durch das -n verhindert werden Flag (wenn Ihre Implementierung von echo unterstützt) oder mit einem anderen Programm (wie printf ):

> echo "a" | md5sum   
60b725f10c9c85c70d97880dfe8191b3  -

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

> printf "a" | md5sum 
0cc175b9c0f1b6a831c399e269772661  -

Linux
  1. Warum funktioniert der reguläre Ausdruck in X, aber nicht in Y?

  2. Warum ändert der folgende Weg die Größe der Kerndatei nicht?

  3. Linux – Warum funktioniert Setuid nicht?

  4. Warum liefert Grep -o -w unter Mac OS X nicht die erwartete Ausgabe?

  5. Warum funktioniert die Regex in Bash nur, wenn es sich um eine Variable handelt und nicht direkt?

Warum nicht Softwarepakete aus dem Internet installieren

Warum enthält die Bash-Übersetzungsdatei nicht alle Fehlertexte?

Warum funktioniert `exit &` nicht?

Warum wird der Kernel demselben Adressraum wie Prozesse zugeordnet?

Warum wird der Befehl sudo:bundle nicht gefunden?

Warum gibt mir rsync über SSH den 10-fachen Durchsatz von SCP?