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".

lindhe
sumber

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  -
lindhe
sumber
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