Tetapi bagian yang sulit adalah membandingkan nilai hash dengan yang tepat.
Sulit untuk membandingkan keluaran 32 karakter dengan nilai hash asli / tepat oleh manusia mana pun untuk sejumlah besar file. Pertama-tama pekerjaan itu akan sangat monoton dan ada banyak kesalahan.
Apakah mungkin untuk mengotomatiskan proses perbandingan, lebih disukai di CLI?
-c, --check
read MD5 sums from the FILEs and check them
Kutipan dari wiki
Catatan: Harus ada dua ruang antara setiap nilai md5sum dan nama file yang akan dibandingkan. Jika tidak, kesalahan berikut akan menghasilkan: "tidak ditemukan garis MD5 checksum yang diformat dengan benar".
Tentang *dan <space>setelah MD5 jumlah hash. Ada sedikit catatan dalam diri manusia:
When checking, the
input should be a former output of this program. The default mode is
to print a line with checksum, a character indicating input mode ('*'
for binary, space for text), and name for each FILE.
Dan di sini ada tautan ke stackoverflow di mana saya menemukan jawaban atas pertanyaan, mengapa kita, terkadang, membedakan binaryfile dan textfile.
terima kasih atas jawaban Anda, tetapi perlu menginstal utilitas lain. Pada saat yang sama ia memberikan dukungan ke format lain juga. Adalah baik untuk mengetahuinya. Tetapi pada konteks saat ini saya akan pergi dengan jawaban yang lain. Pokoknya +1 dari saya.
souravc
1
Ya, tanda bintang *diperlukan untuk perintah ini. Lihatlah contoh ini.
Ini adalah file biner, dan katakanlah nilai md5sum yang benar adalah exampleofcorrectmd5value00000000(32 karakter hexadecimal)
[root@Linux update]# ls -lh
total 137M
-rw-r--r-- 1 root root 137M Nov 5 13:01 binary-file.run.tgz
[root@Linux update]#
-c, --check
baca jumlah MD5 dari FILE dan periksa
Jika nilai md5sum cocok dengan file biner, Anda akan mendapatkan output ini
[root@Linux update]# md5sum -c <<< "exampleofwrongmd5value0000000000 *binary-file.run.tgz"
binary-file.run.tgz: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
[root@Linux update]#
Tanpa asterisk *, Anda akan mendapatkan pesan kesalahan berikut ini bahkan berpikir nilai md5 benar
[root@Linux ~]# md5sum -c <<< "exampleofcorrectmd5value00000000 binary-file.run.tgz"
md5sum: standard input: no properly formatted MD5 checksum lines found
[root@Linux ~]#
Selain itu, Anda akan mendapatkan pesan kesalahan yang sama jika md5sum tidak memiliki 32 karakter heksadesimal di dalamnya. Dalam contoh ini, hanya memiliki 31 karakter.
[root@Linux ~]# md5sum -c <<< "exampleofmd5valuelessthan32char *binary-file.run.tgz"
md5sum: standard input: no properly formatted MD5 checksum lines found
[root@Linux ~]#
Solusi untuk banyak file
Jika Anda memiliki banyak file dan ingin mengotomatiskan prosesnya, Anda dapat mengikuti langkah-langkah ini:
user@Ubuntu:~$ ls -lh
total 12K
-rw-rw-r-- 1 user user 4 Nov 5 14:54 file-a
-rw-rw-r-- 1 user user 4 Nov 5 14:54 file-b
-rw-rw-r-- 1 user user 4 Nov 5 14:54 file-c
user@Ubuntu:~$
Hasilkan md5sum untuk setiap file dan simpan ke md5sum.txt
*
, tetapi wiki mengatakan bahwa itu harus dua spasi. Saya akan mencari ...*
jawabanSalah satu kemungkinan adalah menggunakan utilitas cfv
CFV mendukung banyak jenis hash, dan keduanya pengujian dan pembuatan file hash.
sumber
Ya, tanda bintang
*
diperlukan untuk perintah ini. Lihatlah contoh ini.Ini adalah file biner, dan katakanlah nilai md5sum yang benar adalah
exampleofcorrectmd5value00000000
(32 karakter hexadecimal)Jika nilai md5sum cocok dengan file biner, Anda akan mendapatkan output ini
Dan ini adalah saat nilai md5sum tidak cocok
Tanpa asterisk
*
, Anda akan mendapatkan pesan kesalahan berikut ini bahkan berpikir nilai md5 benarSelain itu, Anda akan mendapatkan pesan kesalahan yang sama jika md5sum tidak memiliki 32 karakter heksadesimal di dalamnya. Dalam contoh ini, hanya memiliki 31 karakter.
Solusi untuk banyak file
Jika Anda memiliki banyak file dan ingin mengotomatiskan prosesnya, Anda dapat mengikuti langkah-langkah ini:
Hasilkan md5sum untuk setiap file dan simpan ke md5sum.txt
Untuk memeriksa semua file md5sum, gunakan perintah berikut.
Ini adalah contoh jika nilai md5sum tidak cocok dengan file. Dalam hal ini, saya akan mengubah
file-b
kontenLihat, ini adalah pesan kesalahan. Semoga ini membantu.
sumber