Pelajari Cara Menghasilkan dan Memverifikasi File dengan MD5 Checksum di Linux


checksum adalah digit yang berfungsi sebagai jumlah digit yang benar dalam data, yang nantinya dapat digunakan untuk mendeteksi kesalahan pada data selama penyimpanan atau transmisi. Jumlah MD5 (Message Digest 5) dapat digunakan sebagai checksum untuk memverifikasi file atau string dalam sistem file Linux.

Jumlah MD5 adalah string karakter 128-bit (angka dan huruf) yang dihasilkan dari menjalankan algoritma MD5 terhadap file tertentu. Algoritme MD5 adalah fungsi hash populer yang menghasilkan intisari pesan 128-bit yang disebut sebagai nilai hash, dan ketika Anda membuat nilai hash untuk file tertentu, nilai tersebut tidak akan berubah di mesin mana pun, berapa kali pun nilai tersebut dihasilkan.

Biasanya sangat sulit untuk menemukan dua file berbeda yang menghasilkan string yang sama. Oleh karena itu, Anda dapat menggunakan md5sum untuk memeriksa integritas data digital dengan menentukan bahwa file atau ISO yang Anda unduh adalah salinan sedikit demi sedikit dari file atau ISO jarak jauh.

Saran Baca: Kemajuan – Pantau Kemajuan untuk Perintah (cp, mv, dd, tar, dll.) di Linux

Di Linux, program md5sum menghitung dan memeriksa nilai hash MD5 suatu file. Ini adalah bagian dari paket GNU Core Utilities, oleh karena itu sudah diinstal sebelumnya di sebagian besar, jika tidak semua distribusi Linux.

Lihatlah konten /etc/group yang disimpan sebagai groups.cvs di bawah.

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,aaronkilik
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:aaronkilik
floppy:x:25:
tape:x:26:
sudo:x:27:aaronkilik
audio:x:29:pulse
dip:x:30:aaronkilik

Perintah md5sums di bawah ini akan menghasilkan nilai hash untuk file sebagai berikut:

md5sum groups.csv

bc527343c7ffc103111f3a694b004e2f  groups.csv

Saat Anda mencoba mengubah isi file dengan menghapus baris pertama, root:x:0: dan kemudian menjalankan perintah untuk kedua kalinya, coba amati nilai hashnya:

md5sum groups.csv

46798b5cfca45c46a84b7419f8b74735  groups.csv

Anda akan melihat bahwa nilai hash sekarang telah berubah, menunjukkan bahwa isi file telah diubah.

Sekarang, masukkan kembali baris pertama file, root:x:0: dan ganti namanya menjadi group_file.txt dan jalankan perintah di bawah ini untuk menghasilkan nilai hashnya lagi:

md5sum groups_list.txt

bc527343c7ffc103111f3a694b004e2f  groups_list.txt

Dari output di atas, nilai hashnya tetap sama meskipun file telah diganti namanya, dengan konten aslinya.

Penting: jumlah md5 hanya memverifikasi/berfungsi dengan konten file, bukan nama file.

File groups_list.txt adalah duplikat dari groups.csv, jadi, cobalah untuk menghasilkan nilai hash file secara bersamaan seperti berikut.

Anda akan melihat bahwa keduanya memiliki nilai hash yang sama, ini karena keduanya memiliki konten yang sama persis.

md5sum groups_list.txt  groups.csv 

bc527343c7ffc103111f3a694b004e2f  groups_list.txt
bc527343c7ffc103111f3a694b004e2f  groups.csv

Anda dapat mengarahkan nilai hash suatu file ke dalam file teks dan menyimpannya, membaginya dengan orang lain. Untuk dua file di atas, Anda dapat mengeluarkan perintah di bawah ini untuk mengarahkan nilai hash yang dihasilkan ke dalam file teks untuk digunakan nanti:

md5sum groups_list.txt  groups.csv > myfiles.md5

Untuk memeriksa apakah file belum diubah sejak Anda membuat checksum, jalankan perintah berikutnya. Anda seharusnya dapat melihat nama setiap file bersama dengan “OK ”.

Bacaan yang Disarankan: Temukan 15 Proses Teratas berdasarkan Penggunaan Memori di Linux

Opsi -c atau --check memberitahu perintah md5sums untuk membaca jumlah MD5 dari file dan memeriksanya.

md5sum -c myfiles.md5

groups_list.txt: OK
groups.csv: OK

Ingatlah bahwa setelah membuat checksum, Anda tidak dapat mengganti nama file atau Anda akan mendapatkan kesalahan “Tidak ada file atau direktori tersebut ”, saat Anda mencoba memverifikasi file dengan nama baru.

Contohnya:

mv groups_list.txt new.txt
$ mv groups.csv file.txt
$ md5sum -c  myfiles.md5
md5sum: groups_list.txt: No such file or directory
groups_list.txt: FAILED open or read
md5sum: groups.csv: No such file or directory
groups.csv: FAILED open or read
md5sum: WARNING: 2 listed files could not be read

Konsep ini juga berfungsi untuk string, pada perintah di bawah ini, -n berarti tidak menampilkan baris baru di akhir:

echo -n "Tecmint How-Tos" | md5sum - 

afc7cb02baab440a6e64de1a5b0d0f1b  -
echo -n "Tecmint How-To" | md5sum - 

65136cb527bff5ed8615bd1959b0a248  -

Dalam panduan ini, saya menunjukkan kepada Anda cara menghasilkan nilai hash untuk file, membuat checksum untuk verifikasi integritas file nanti di Linux. Meskipun kerentanan keamanan pada algoritma MD5 telah terdeteksi, hash MD5 tetap berguna terutama jika Anda memercayai pihak yang membuatnya.

Oleh karena itu, memverifikasi file merupakan aspek penting dalam penanganan file di sistem Anda untuk menghindari pengunduhan, penyimpanan, atau berbagi file yang rusak. Yang terakhir, seperti biasa, hubungi kami melalui formulir komentar di bawah untuk meminta bantuan, Anda juga dapat memberikan beberapa saran penting untuk menyempurnakan postingan ini.