Untuk memeriksa sha1 file yang akan saya gunakan, openssl sha1 <file>
saya tidak yakin apa yang harus digunakan untuk memeriksa hash sha256 file tersebut, apa yang akan Anda rekomendasikan?
macos
command-line
encryption
erikvold
sumber
sumber
OS X dikirimkan dengan perintah shasum .
Anda dapat gunakan:
Keterangan lebih lanjut:
sumber
which shashum
tidak menghasilkan apa/usr/bin
barang-barang opsional. Saya harus memverifikasi ini yang terjadi hari ini. Akan memperbarui jawaban jika memang berasal dari instalasi XCL.shasum
mengembalikan hash yang berbeda dariopenssl sha -sha256 <file>
(dengan yang terakhir menjadi hash yang benar). Ada yang tahu kenapa?shasum
adalah skrip perl, digunakanDigest::SHA
untuk menghitung nilai hash. Untuk file yang sama saya mendapatkan SHA yang sama persis menggunakan salah satushasum
atauopenssl
untukSHA-256
perhitungan hash. Lihat: gist.github.com/ianchesal/82a064b8971eb5e717ce84f3ded6dbfdThe
shasum
perintah kapal dengan OSX untuk sementara waktu sekarang. Ini akan memberikan hasil yang sama sepertiopenssl sha -sha256
ketika menggunakanshasum
menggunakan-a 256
pilihan.sumber
Untuk mengklarifikasi jawaban berguna John - yang memungkinkan Anda untuk membandingkan hash yang diberikan dengan file dalam satu perintah:
Masukkan
shasum -a 256 -c <<<
,diikuti oleh spasi opsional,
diikuti dengan centang tunggal (
'
),diikuti oleh hash untuk membandingkan,
diikuti oleh spasi,
diikuti oleh karakter mode, berdasarkan bagaimana hash awal dihasilkan:
tidak ada , jika hash dibuat dengan
-t
atau tanpa opsi (mode teks, yang merupakan default)asterisk (
*
), jika hash dibuat dengan-b
(mode biner)tanda tanya (
?
), jika hash dibuat dengan-p
(mode portabel)caret (
^
), jika hash dibuat dengan-0
(mode bit)diikuti oleh path ke file,
diikuti dengan tanda centang tunggal penutup (
'
).Seperti uraian berikut, dengan melukiskan parens di sekitar bagian hash dan filepath, dan tanda kurung siku di sekitar bagian "karakter mode" opsional. ( Jangan sertakan parens atau kurung dalam kehidupan nyata - mereka hanya di sini untuk membuat bagian-bagiannya mudah dilihat! )
Rusak :
Perintah shasum yang sebenarnya adalah
shasum -a 256 -c
-a 256
memberitahushasum
untuk menggunakan sha256 .-c
memberitahushasum
untuk "memeriksa" input yang disediakan.Ini
<<<
adalah rangkaian karakter khusus Unix / Linux, yang disebut operator "redirection". Ini untuk memasukkan sesuatu ke perintah sebelumnya. Dengan menggunakannya, kami katakan kami akan memberikan serangkaian informasi untukshasum
perintah yang akan digunakan sebagai input.String informasi input harus memiliki pembukaan dan penutupan kutu tunggal, seperti
'some string here'
, atau dalam hal ini, hash, karakter mode, dan filepath untuk diperiksa.Bagian hash di dalam string tidak perlu sesuatu yang istimewa - tetapi harus diikuti oleh spasi.
Bagian karakter mode bisa berupa apa saja, tanda bintang (
*
), tanda tanya (?
), atau tanda sisipan (^
). Ini memberitahushasum
mode hash yang dihasilkan. (Catatan: sama sekali tidak ada karakter, mewakili mode teks, adalahshasum
default.)Bagian filepath , adalah jalur sebenarnya ke file yang akan diperiksa.
Jadi, inilah contoh kehidupan nyata memeriksa file unduhan MAMP tertentu terhadap nilai SHA-256 yang diklaim . The
*
karakter modus yang diperlukan untuk cek ini bekerja:Catatan: hasil dari perintah ini (untuk file contoh saya) adalah -
BAIK:
atau
GAGAL:
sumber
shasum -c <<< '7cb77378a0749f2a9b7e09ea62ffb13febf3759f *sample.txt'
mengembalikan pesan*sample.txt: FAILED open or read
. Tanpa tanda bintangsample.txt: OK
,. Saya belum dapat menemukan dasar penggunaan tanda bintang di tempat lain. Bisakah Anda mengklarifikasi?--binary
opsi)? Dari halaman manual: "Saat memeriksa, input harus menjadi output mantan dari program ini. Mode default adalah untuk mencetak baris dengan checksum, karakter yang menunjukkan jenis (*
untuk biner,` `untuk teks,U
untuk UNIVERSAL,^
untuk BITS,?
untuk portable), dan nama untuk masing-masing FILE. " Jadi, karakter antara checksum dan nama file tergantung pada mode yang ditetapkan ketika checksum dibuat?Saya akan menggunakan perintah ini.
Contoh:
sumber