Mengapa `md5sum` tidak memberikan hash yang sama dengan Internet?


8

Saya ingin menemukan hash md5 dari string "a", tetapi menjalankan echo "a" | md5summemberi saya hash lain dari apa yang saya dapatkan jika saya mencari di internet (misalnya menggunakan DuckDuckGo atau hasil pencarian pertama yang saya temukan ).

Menjalankan echo "a" | md5summemberi saya "60b725f10c9c85c70d97880dfe8191b3", tetapi harus "0cc175b9c0f1b6a831c399e269772661".

Jika saya membuat pencarian hash terbalik untuk "60b725f10c9c85c70d97880dfe8191b3", namun saya mendapatkan "a".

Jawaban:


15

Alasan hash menjadi berbeda adalah karena echomenyertakan baris baru di akhir string keluaran untuk membuatnya cantik. Ini dapat dilarang oleh -nbendera (jika implementasi Anda echomendukungnya), atau dengan menggunakan program lain (seperti printf):

> echo "a" | md5sum   
60b725f10c9c85c70d97880dfe8191b3  -

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

> printf "a" | md5sum 
0cc175b9c0f1b6a831c399e269772661  -

2
echomenambahkan baris baru ke output untuk membuatnya menjadi baris yang lengkap, bukan untuk membuatnya cantik.
Kusalananda

@Kalanalananda Mengetik printf textmembuat teks muncul di depan baris prompt berikutnya.
neverMind9
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.