menambahkan catatan ini kepada siapa yang berkepentingan: SHA-1 sekarang dikompromikan , dibuktikan oleh penelitian bersama Google-CWI . TL; DR Jangan menggunakannya di mana pun yang membawa nilai apa pun.
Bagus! Tetapi bagaimana Anda menjalankan sha1sum -cketika {file}.sha1hanya berisi hash dan tidak ada nama file (seperti yang sering diunduh dari berbagai sudut Internet)? Saya datang dengan for f in *.sha1; do echo "$(cat $f) ${f/.sha1/}"; done | sha1sum -c(perhatikan spasi ganda), tapi ini pasti jauh lebih sederhana.
Piotr Findeisen
3
atau shasum- SHA default adalah (jika saya benar) SHA1. Anda juga mengaturnya dengan -a, --algorithmopsi:shasum -a 1
xealits
3
@PiotrFindeisen - Output dari sha1sum <hash> <full file path>begitu ada informasi yang cukup untuk sha1sum -c untuk mengetahui file mana yang harus diverifikasi
CrazyPenguin
1
Maafkan ketidaktahuan saya, tetapi mengapa sulit untuk memeriksa jumlah file? Tidak bisakah kita melakukannya begitu saja sha1sum <file_path> <the_expected_hash> ?
Terima kasih, meskipun saya tidak berpikir Anda harus memiliki * di sana. Berikut adalah contoh nyata: echo 'b78bb50bdac5ec8c108f34104f788e214ac23635 raspbian.zip' | sha1sum -c - Itu akan memeriksa nama file raspbian.zip di direktori saat ini.
Lukas
1
Ini harus menjadi jawaban yang diterima. Membuat file adalah perantara yang tidak perlu.
Joel B
Untuk berjaga-jaga kalau ada yang sampai di sini dan menggunakan mac, ada dua ruang antara nama file dan output dari shasum pada OSX 10.13.3. Ketika saya hanya menggunakan satu, saya mendapat kesalahan pemformatan yang tidak benar untuk shasum -c
ini adalah askubunutu, jadi menggunakan Mac adalah di luar topik;) tetapi ini juga bisa digunakan di ubuntu, jadi +1
Jeff Puckett
4
Apa yang kalian bicarakan? Ya, saya mendapatkan konsep di balik sha1sum, tetapi info di atas membingungkan untuk mengatakan yang terbaik. Pertama, Ubuntu tampaknya tidak memiliki file sha1sum - cukup masukkan pada halaman web seperti ini untuk Mate 16.04 Beta 1:
Untuk memeriksa integritas .iso yang diunduh, seseorang membuka program terminal, melakukan "cd Downloads", lalu sha1sum. Setelah sedikit, terminal akan menghasilkan hash seperti
Python memiliki hashlibpustaka yang luar biasa , yang memungkinkan menghitung banyak hash, termasuk sha1. Berikut ini skrip sederhana yang dapat melakukan pekerjaan:
#!/usr/bin/env python3import sys
import hashlib
import os
from collections importOrderedDictas od
def get_hashsums(file_path):
hash_sums = od()
hash_sums['md5sum']= hashlib.md5()
hash_sums['sha1sum']= hashlib.sha1()
hash_sums['sha224sum']= hashlib.sha224()
hash_sums['sha256sum']= hashlib.sha256()
hash_sums['sha384sum']= hashlib.sha384()
hash_sums['sha512sum']= hashlib.sha512()with open(file_path,'rb')as fd:
data_chunk = fd.read(1024)while data_chunk:for hashsum in hash_sums.keys():
hash_sums[hashsum].update(data_chunk)
data_chunk = fd.read(1024)
results = od()for key,value in hash_sums.items():
results[key]= value.hexdigest()return results
def main():for path in sys.argv[1:]:print(">>> ",path)for key,value in get_hashsums(path).items():print(key,value)if __name__ =='__main__': main()
Jawaban:
sha1sum
Jika Anda ingin mengirim file bersama dengan output sha1sumnya, arahkan kembali output ke file:
Kirim kedua file dan pihak lain dapat melakukan ...
Itu harus menunjukkan
OK
jikasha1
sudah benar.sumber
sha1sum -c
ketika{file}.sha1
hanya berisi hash dan tidak ada nama file (seperti yang sering diunduh dari berbagai sudut Internet)? Saya datang denganfor f in *.sha1; do echo "$(cat $f) ${f/.sha1/}"; done | sha1sum -c
(perhatikan spasi ganda), tapi ini pasti jauh lebih sederhana.shasum
- SHA default adalah (jika saya benar) SHA1. Anda juga mengaturnya dengan-a, --algorithm
opsi:shasum -a 1
<hash> <full file path>
begitu ada informasi yang cukup untuk sha1sum -c untuk mengetahui file mana yang harus diverifikasisha1sum <file_path> <the_expected_hash>
?Tanpa membuat file lokal:
Untuk memeriksa, buka direktori yang berisi
filename
dan jalankan perintah ini:sumber
echo 'b78bb50bdac5ec8c108f34104f788e214ac23635 raspbian.zip' | sha1sum -c -
Itu akan memeriksa nama file raspbian.zip di direktori saat ini.Sangat sederhana.
Arahkan ke terminal dan masukkan:
untuk mengkonfirmasi penggunaan hash sha1:
sumber
Bagi mereka yang menggunakan mac dan tidak memiliki coreutils / sha1sum diinstal.
Contoh:
sumber
Apa yang kalian bicarakan? Ya, saya mendapatkan konsep di balik sha1sum, tetapi info di atas membingungkan untuk mengatakan yang terbaik. Pertama, Ubuntu tampaknya tidak memiliki file sha1sum - cukup masukkan pada halaman web seperti ini untuk Mate 16.04 Beta 1:
Untuk memeriksa integritas .iso yang diunduh, seseorang membuka program terminal, melakukan "cd Downloads", lalu sha1sum. Setelah sedikit, terminal akan menghasilkan hash seperti
Selanjutnya, kita harus pergi ke halaman web dan membandingkan string untuk memverifikasi bahwa verifikasi berfungsi. Tidak semudah yang seharusnya.
Dave,
sumber
Python
Python memiliki
hashlib
pustaka yang luar biasa , yang memungkinkan menghitung banyak hash, termasuksha1
. Berikut ini skrip sederhana yang dapat melakukan pekerjaan:Uji coba:
Dengan satu file:
Dengan glob:
sumber