Jawaban:
Anda dapat gunakan
openssl dgst -sha256 <file>
Diuji pada LibreSSL 2.6.4 pada macOS 10.14 (Mojave).
Sebelum Mojave, Anda dapat menggunakan openssl sha -sha256 <file>
atau openssl sha256 <file>
.
Untuk memeriksa opsi baris perintah untuk openssl perintah sha: openssl sha -help
.
OS X dikirimkan dengan perintah shasum .
> which shasum
/usr/bin/shasum
Anda dapat gunakan:
> shasum -a 256 <file>
Keterangan lebih lanjut:
> shasum --help
Usage: shasum [OPTION]... [FILE]...
Print or check SHA checksums.
With no FILE, or when FILE is -, read standard input.
-a, --algorithm 1 (default), 224, 256, 384, 512, 512224, 512256
-b, --binary read in binary mode
-c, --check read SHA sums from the FILEs and check them
-t, --text read in text mode (default)
-p, --portable read in portable mode
produces same digest on Windows/Unix/Mac
-0, --01 read in BITS mode
ASCII '0' interpreted as 0-bit,
ASCII '1' interpreted as 1-bit,
all other characters ignored
The following two options are useful only when verifying checksums:
-s, --status don't output anything, status code shows success
-w, --warn warn about improperly formatted checksum lines
-h, --help display this help and exit
-v, --version output version information and exit
When verifying SHA-512/224 or SHA-512/256 checksums, indicate the
algorithm explicitly using the -a option, e.g.
shasum -a 512224 -c checksumfile
The sums are computed as described in FIPS-180-4. 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 type (`*' for binary,
` ' for text, `?' for portable, `^' for BITS), and name for each FILE.
Report shasum bugs to mshelor@cpan.org
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 dari openssl sha -sha256 <file>
(dengan yang terakhir menjadi hash yang benar). Ada yang tahu kenapa?
shasum
adalah skrip perl, digunakan Digest::SHA
untuk menghitung nilai hash. Untuk file yang sama saya mendapatkan SHA yang sama persis menggunakan salah satu shasum
atau openssl
untuk SHA-256
perhitungan hash. Lihat: gist.github.com/ianchesal/82a064b8971eb5e717ce84f3ded6dbfd
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! )
shasum -a 256 -c <<< '(hashToCompare) [mode character](filepath)'
Rusak :
Perintah shasum yang sebenarnya adalahshasum -a 256 -c
-a 256
memberitahu shasum
untuk menggunakan sha256 .
-c
memberitahu shasum
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 untuk shasum
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 memberitahu shasum
mode hash yang dihasilkan. (Catatan: sama sekali tidak ada karakter, mewakili mode teks, adalah shasum
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:
shasum -a 256 -c <<< 'f05ede012b8a5d0e7c9cf17fee0fa1eb5cd8131f3c703ed14ea347f25be11a28 *MAMP_MAMP_PRO_5.2.pkg'
Catatan: hasil dari perintah ini (untuk file contoh saya) adalah -
BAIK:
MAMP_MAMP_PRO_5.2.pkg: Oke
atau
GAGAL:
MAMP_MAMP_PRO_5.2.pkg: FAILED
shasum: PERINGATAN: 1 checksum yang dihitung tidak cocok
shasum -c <<< '7cb77378a0749f2a9b7e09ea62ffb13febf3759f *sample.txt'
mengembalikan pesan *sample.txt: FAILED open or read
. Tanpa tanda bintang sample.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?