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?


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.


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

2

b1946ac92492d2347c6235b4d2611184 adalah md5 dari hanya string

hello

5d41402abc4b2a76b9719d911017c592 di md5 dari

hello

CR + LF

CR + LF adalah baris baru Windows.


1

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

echo -n hello | md5sum
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.