Dlaczego mój skrót wiersza polecenia różni się od wyników mieszania online MD5?

21

Na komputerze Mac OS X 10.5 (Leopard) PowerPC, jeśli to zrobię:

echo „cześć” | md5
w wierszu polecenia wynik to:

b1946ac92492d2347c6235b4d2611184

Ale jeśli wejdę do jednej z internetowych witryn z skrótami MD5, takich jak http://md5online.net/ , otrzymam:

5d41402abc4b2a76b9719d911017c592

czy robię coś źle? Jeśli chcę korzystać z MD5 w podróży, jak mogę się upewnić, że to, co otrzymuję w wierszu poleceń, zgadza się z narzędziami online md5?

pellea72
źródło
Działa dla mnie w systemie Windows z Total Commander tworzącym sumę kontrolną MD5. Taki sam jak wersja online.
Snark,
Dzięki Snark. Rudedog rozwiązał problem podczas używania md5 w wierszu poleceń, przynajmniej dla systemów POSIX. Daj mu +1, jeśli możesz. Jestem za nowy
pellea72,

Odpowiedzi:

40

Kiedy echo z wiersza poleceń, md5 oblicza sumę 6 znaków - h, e, l, l, o plus nowa linia. Tekst wprowadzany do witryny nie ma nowego wiersza.

Spróbuj zrobić

echo -n hello | md5

i da ci to, czego oczekujesz. -N informuje echo, aby nie wyświetlało nowego wiersza.

Rudedog
źródło
Ups Nie zauważyłem znacznika „-n”. Masz rację Rudedog. To się udało. Dzięki.
pellea72,
3

Możesz także użyć printf zamiast echa, co automatycznie pomija znak nowej linii:

printf hello | md5

Lub nawet:

printf "hello" | md5
TrekCzar
źródło
2

b1946ac92492d2347c6235b4d2611184 ist md5 tylko łańcucha

hello

5d41402abc4b2a76b9719d911017c592 ist the md5 of

hello

CR + LF

CR + LF to nowa linia systemu Windows.

użytkownik1863
źródło
1

Aby dodać moje 5 centów i rozszerzyć odpowiedź: w Linuksie nie ma md5, jest md5sum, więc powinieneś zrobić:

echo -n hello | md5sum
Simon Ernesto Cardenas Zarate
źródło