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 -