Saat mengunduh file, terutama menginstal file dari situs web, ada baiknya untuk memverifikasi bahwa unduhan tersebut valid. Sebuah situs web akan sering menampilkan nilai hash untuk setiap file untuk memastikan unduhan selesai dengan benar. Artikel ini akan membahas alat md5sum yang dapat Anda gunakan untuk memvalidasi unduhan. Tiga utilitas lain, sha1sum, sha256sum, dan sha512sum, bekerja dengan cara yang sama seperti md5sum.
Perintah md5sum Linux
Perintah md5sum mencetak checksum 32-karakter (128-bit) dari file yang diberikan, menggunakan algoritma MD5. Berikut adalah sintaks perintah dari alat baris perintah ini:
md5sum [OPTION]... [FILE]...
Dan inilah cara halaman manual md5sum menjelaskannya:
Print or check MD5 (128-bit) checksums.
Contoh gaya Tanya Jawab berikut akan memberi Anda ide yang lebih baik tentang penggunaan dasar md5sum.
Catatan:Kami akan menggunakan tiga file bernama file1.txt, file2.txt, dan file3.txt sebagai file input dalam contoh kita. Teks di setiap file tercantum di bawah ini.
file1.txt:
hi hello how are you thanks.
file2.txt:
hi hello to you I am fine Your welcome!
file3.txt:
hallo Guten Tag Wie geht es dir Danke.
Q1. Bagaimana cara menampilkan nilai hash?
Gunakan perintah tanpa opsi apa pun untuk menampilkan nilai hash dan nama file.
md5sum file1.txt
Berikut adalah output dari perintah ini yang dihasilkan pada sistem kami:
[Documents]$ md5sum file1.txt 1ff38cc592c4c5d0c8e3ca38be8f1eb1 file1.txt [Documents]$
Outputnya juga dapat ditampilkan dalam format gaya BSD menggunakan opsi --tag.
md5sum --tag file1.txt
[Documents]$ md5sum --tag file1.txt MD5 (file1.txt) = 1ff38cc592c4c5d0c8e3ca38be8f1eb1 [Documents]$
Q2. Bagaimana cara memvalidasi banyak file?
Perintah md5sum dapat memvalidasi beberapa file sekaligus. Kami akan menambahkan file2.txt dan file3.txt untuk menunjukkan kemampuannya.
Jika Anda menulis hash ke file, Anda dapat menggunakan file itu untuk memeriksa apakah ada file yang berubah. Di sini kita menulis hash file ke hash file, dan kemudian menggunakannya untuk memvalidasi bahwa tidak ada file yang berubah.
md5sum file1.txt file2.txt file3.txt > hashes
md5sum --check hashes
[Documents]$ md5sum file1.txt file2.txt file3.txt > hashes [Documents]$ md5sum --check hashes file1.txt: OK file2.txt: OK file3.txt: OK [Documents]$
Sekarang kita akan mengubah file3.txt, menambahkan satu tanda seru di akhir file, dan menjalankan kembali perintah.
echo "!" >> file3.txt
md5sum --check hashes
[Documents]$ md5sum --check hashes file1.txt: OK file2.txt: OK file3.txt: FAILED md5sum: WARNING: 1 computed checksum did NOT match [Documents]$
Anda dapat melihat bahwa file3.txt telah berubah.
Q3. Bagaimana cara menampilkan hanya file yang dimodifikasi?
Jika Anda memiliki banyak file untuk diperiksa, Anda mungkin ingin menampilkan hanya file yang telah diubah. Menggunakan opsi "--quiet", md5sum hanya akan mencantumkan file yang telah diubah.
md5sum --quiet --check hashes
[Documents]$ md5sum --quiet --check hashes file3.txt: FAILED md5sum: WARNING: 1 computed checksum did NOT match [Documents]$
Q4. Bagaimana cara mendeteksi perubahan dalam skrip?
Anda mungkin ingin menggunakan md5sum dalam skrip. Menggunakan opsi "--status", md5sum tidak akan mencetak output apa pun. Sebagai gantinya, kode status mengembalikan 0 jika tidak ada perubahan, dan 1 jika file tidak cocok. Skrip hashes.sh berikut akan mengembalikan 1 dalam kode status karena file telah berubah. File skrip di bawah ini:
sh hashes.sh
hashes.sh: #!/bin/bash md5sum --status --check hashes Result=$? echo "File check status is: $Result" exit $Result [Documents]$ sh hashes.sh File check status is: 1 [[email protected] Documents]$
Q5. Bagaimana cara mengidentifikasi nilai hash yang tidak valid?
md5sum dapat memberi tahu Anda jika Anda memiliki hash yang tidak valid saat membandingkan file. Untuk memperingatkan Anda jika ada nilai hash yang salah, Anda dapat menggunakan opsi --warn. Untuk contoh terakhir ini, kita akan menggunakan sed untuk menyisipkan karakter tambahan di awal baris ketiga. Ini akan mengubah nilai hash dalam hash file, membuatnya tidak valid.
sed -i '3s/.*/a&/' hashes
md5sum --warn --check hashes
Ini menunjukkan bahwa baris ketiga memiliki hash yang tidak valid.
[Documents]$ sed -i '3s/.*/a&/' hashes [Documents]$ md5sum --warn --check hashes file1.txt: OK file2.txt: OK md5sum: hashes: 3: improperly formatted MD5 checksum line md5sum: WARNING: 1 line is improperly formatted [Documents]$
Kesimpulan
md5sum adalah perintah sederhana yang dapat dengan cepat memvalidasi satu atau beberapa file untuk menentukan apakah salah satu dari mereka telah berubah dari file asli. Untuk informasi lebih lanjut tentang md5sum, lihat halaman manualnya.