Saya masuk:
appletree:~ somename$ shasum -a 512 <<< test
Dan hasilnya adalah:
0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123 -
Lalu saya pergi ke beberapa generator hash online dan masukkan "test" juga. Jawaban mereka adalah:
ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff
http://passwordsgenerator.net/sha512-hash-generator/ :
EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF
Jadi generator online setuju. Apa yang saya lewatkan pada perintah konsol Mac?
Saya sedang membaca man
halaman - halamannya. Saya melihat itu diimplementasikan menggunakan perpustakaan Perl. Namun, saya pikir sha512 akan menjadi sebutan yang unik, jadi saya harus menggali lebih dalam.
Tampaknya ada pertanyaan duplikat: Mengapa hash baris perintah saya berbeda dari hasil hash MD5 online? . Sementara pertanyaan lain berada dalam konteks yang sama, yang merupakan ruang kosong yang tidak terduga, ia muncul dari situasi yang berbeda.
<<<
adalah string di sini , dan ada pilihan desain untuk bagaimana string di sini menambahkan baris baru.echo 'bla' |
berarti pemipaan, yang memanggil sub shell, dan juga memiliki argumen untuk bagaimana menangani baris baru. Di sini sepertinya Anda harus mempertimbangkan versi shell .
Jawaban:
Masukan untuk
shasum
doa dalam pertanyaan adalahtest\n
(dengan baris baru), bukantest
.Jika Anda memberi
test
tanpa baris baru,shasum
Anda akan mendapatkan hasil yang sama dengan alat daring yang Anda kutip:By the way, saya pikir tidak ada yang khusus atau MacOS-spesifik tentang yang
shasum
ditemukan di MacOS; Saya pikirshasum
ini adalah bagian dari distro Perl standar — dipasang bersama, misalnya,perl
perintah.sumber
Coba ini:
Mengetahui shell Unix, Anda mungkin mendapatkan 0x0a yang tidak diinginkan di akhir string itu.
sumber
od
akan melabeli karakter kontrol dan membuatnya lebih jelas; coba:od -t a -t x1 <<< test
(tidak pernah menggunakan hexdump),