Ketahui cara menjana dan mengesahkan fail dengan checksum MD5 di Linux

Ketahui cara menjana dan mengesahkan fail dengan checksum MD5 di Linux

A checksum adalah digit yang berfungsi sebagai jumlah digit yang betul dalam data, yang boleh digunakan kemudian untuk mengesan kesilapan dalam data semasa penyimpanan atau penghantaran. MD5 (Mesej Digest 5) Jumlah boleh digunakan sebagai cek untuk mengesahkan fail atau rentetan dalam sistem fail Linux.

MD5 Jumlah adalah rentetan aksara 128-bit (angka dan huruf) yang terhasil daripada menjalankan algoritma MD5 terhadap fail tertentu. Algoritma MD5 adalah fungsi hash yang popular yang menghasilkan mesej 128-bit yang dirujuk sebagai nilai hash, dan apabila anda menghasilkan satu untuk fail tertentu, ia tidak berubah pada mana-mana mesin tidak kira bilangan kali ia dijana.

Biasanya sangat sukar untuk mencari dua fail yang berbeza yang menghasilkan rentetan yang sama. Oleh itu, anda boleh menggunakan MD5SUM Untuk memeriksa integriti data digital dengan menentukan bahawa fail atau ISO yang anda muat turun adalah salinan sedikit untuk fail jauh atau ISO.

Cadangan Baca: Kemajuan - Memantau kemajuan untuk (CP, MV, DD, TAR, dll.) Perintah di linux

Di Linux, MD5SUM Program mengira dan memeriksa nilai hash MD5 fail. Ia adalah penyusun pakej utiliti teras GNU, oleh itu datang sebelum dipasang pada kebanyakannya, jika tidak semua pengagihan linux.

Lihatlah kandungan /etc/kumpulan disimpan sebagai kumpulan.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: Berita: X: 9: Uucp: X: 10: Man: X: 12: Proksi: X: 13: Kmem: X: 15: Dialout: X: 20: Fax: X: 21: Suara : X: 22: CDROM: X: 24: Aaronkilik Floppy: X: 25: Pita: X: 26: Sudo: X: 27: Aaronkilik Audio: X: 29: Pulse Dip: X: 30: Aaronkilik 

The MD5SUMS Perintah di bawah akan menghasilkan nilai hash untuk fail seperti berikut:

$ md5sum kumpulan.CSV BC527343C7FFC103111F3A694B004E2F kumpulan.CSV 

Apabila anda cuba mengubah kandungan fail dengan mengeluarkan baris pertama, akar: x: 0: Dan kemudian jalankan arahan untuk kali kedua, cuba perhatikan nilai hash:

$ md5sum kumpulan.CSV 46798B5CFCA45C46A84B7419F8B74735 kumpulan.CSV 

Anda akan melihat bahawa nilai hash kini telah berubah, menunjukkan bahawa kandungan fail yang diubah.

Sekarang, letakkan semula baris pertama fail, akar: x: 0: dan menamakannya ke kumpulan_file.txt dan jalankan arahan di bawah untuk menghasilkan nilai hashnya lagi:

$ MD5SUM GROUPS_LIST.txt BC527343C7FFC103111F3A694B004E2F kumpulan_list.txt 

Dari output di atas, nilai hash masih sama walaupun fail telah dinamakan semula, dengan kandungan asalnya.

Penting: MD5 Jumlah hanya mengesahkan/berfungsi dengan kandungan fail dan bukannya nama fail.

Fail kumpulan_list.txt adalah pendua kumpulan.CSV, Oleh itu, cuba menjana nilai hash fail pada masa yang sama seperti berikut.

Anda akan melihat bahawa mereka berdua mempunyai nilai hash yang sama, ini kerana mereka mempunyai kandungan yang sama.

$ MD5SUM GROUPS_LIST.Kumpulan TXT.CSV BC527343C7FFC103111F3A694B004E2F kumpulan_list.txt BC527343C7FFC103111F3A694B004E2F kumpulan.CSV 

Anda boleh mengalihkan nilai hash fail ke dalam fail teks dan menyimpannya, berkongsi dengan orang lain. Untuk kedua -dua fail di atas, anda boleh mengeluarkan arahan di bawah untuk mengalihkan nilai hash yang dihasilkan ke dalam fail teks untuk kegunaan kemudian:

$ MD5SUM GROUPS_LIST.Kumpulan TXT.csv> myfiles.MD5 

Untuk memeriksa bahawa fail belum diubah suai sejak anda membuat checksum, jalankan arahan seterusnya. Anda sepatutnya dapat melihat nama setiap fail bersama "OKEY".

Cadangan Baca: Cari 15 proses teratas dengan penggunaan memori di Linux

The -c atau --periksa Pilihan memberitahu arahan MD5Sums untuk membaca jumlah MD5 dari fail dan periksa mereka.

$ md5sum -c myfiles.MD5 kumpulan_list.TXT: Kumpulan OK.CSV: OK 

Ingat bahawa selepas membuat checksum, anda tidak boleh menamakan semula fail atau anda mendapat "Tiada fail atau direktori sedemikian"Ralat, apabila anda cuba mengesahkan fail dengan nama baru.

Contohnya:

$ mv groups_list.txt baru.txt $ mv kumpulan.Fail CSV.txt $ md5sum -c myfiles.MD5 
Mesej ralat
md5sum: kumpulan_list.TXT: Tiada fail atau kumpulan direktori seperti itu.TXT: Gagal terbuka atau baca MD5Sum: Kumpulan.CSV: Tiada kumpulan fail atau direktori.CSV: Gagal Terbuka atau Baca MD5SUM: Amaran: 2 Fail Disenaraikan Tidak Boleh Dibaca 

Konsep ini juga berfungsi untuk rentetan, dalam arahan di bawah, -n Bermakna Jangan Keluarkan Talian Newline:

$ echo -n "tecmint how -tos" | MD5SUM - AFC7CB02BAAB440A6E64DE1A5B0D0F1B - 
$ echo -n "tecmint how -to" | MD5SUM - 65136CB527BFF5ED8615BD1959B0A248 - 

Dalam panduan ini, saya menunjukkan kepada anda bagaimana untuk menghasilkan nilai hash untuk fail, buat cek untuk pengesahan integriti fail kemudian di Linux. Walaupun kelemahan keselamatan dalam algoritma MD5 telah dikesan, hash MD5 masih berguna terutama jika anda mempercayai parti yang mencipta mereka.

Oleh itu, mengesahkan fail adalah aspek penting dalam pengendalian fail pada sistem anda untuk mengelakkan memuat turun, menyimpan atau berkongsi fail yang rosak. Akhir sekali, seperti biasa menjangkau kami melalui borang komen di bawah untuk mendapatkan sebarang bantuan, anda juga boleh membuat beberapa cadangan penting untuk memperbaiki jawatan ini.