Mengapa hash baris perintah saya berbeda dengan hasil hash MD5 online?

21

Pada PowerPC Mac OS X v10.5 (Leopard), jika saya lakukan:

gema "halo" | md5
pada baris perintah, hasilnya adalah:

b1946ac92492d2347c6235b4d2611184

Tetapi jika saya memasukkan halo ke salah satu situs hash MD5 online seperti http://md5online.net/ , saya mendapatkan:

5d41402abc4b2a76b9719d911017c592

Apakah saya melakukan sesuatu yang salah? Jika saya ingin menggunakan MD5 saat bepergian, bagaimana saya bisa memastikan apa yang saya dapatkan di baris perintah akan setuju dengan alat md5 online?

pellea72
sumber
Bekerja untuk saya di Windows dengan Total Commander menciptakan MD5 checksum. Sama seperti versi online.
Snark
Terima kasih, Snark. Rudedog memecahkan masalah ketika menggunakan md5 pada baris perintah, setidaknya untuk sistem POSIX. Beri dia +1 jika Anda bisa. Saya terlalu baru.
pellea72

Jawaban:

40

Saat Anda menggema dari baris perintah, md5 menghitung jumlah 6 karakter - h, e, l, l, o ditambah baris baru. Teks yang Anda masukkan di situs web tidak memiliki baris baru.

Coba lakukan

echo -n hello | md5

dan itu akan memberi Anda apa yang Anda harapkan. -N memberitahu echo untuk tidak mengeluarkan baris baru.

Rudedog
sumber
Ups. Saya tidak melihat tag '-n'. Anda benar, Rudedog. Itu berhasil. Terima kasih.
pellea72
3

Anda juga dapat menggunakan printf alih-alih gema, yang secara otomatis menekan karakter baris baru:

printf hello | md5

Atau bahkan:

printf "hello" | md5
TrekCzar
sumber
2

b1946ac92492d2347c6235b4d2611184 adalah md5 dari hanya string

hello

5d41402abc4b2a76b9719d911017c592 di md5 dari

hello

CR + LF

CR + LF adalah baris baru Windows.

pengguna1863
sumber
1

Untuk menambahkan 5 sen saya dan memperluas jawabannya: di Linux bukan md5, adalah md5sum, jadi Anda harus melakukan:

echo -n hello | md5sum
Simon Ernesto Cardenas Zarate
sumber