คือความแตกต่างระหว่างสิ่งที่Sha1sum
, Sha256sum
และMd5sum
? และวิธีการตรวจสอบสิ่งเหล่านี้สำหรับไฟล์ iso บ้าง? และวิธีการสร้างmd5sum.txt
ไฟล์ในอูบุนตู?
sha512sum
!
คือความแตกต่างระหว่างสิ่งที่Sha1sum
, Sha256sum
และMd5sum
? และวิธีการตรวจสอบสิ่งเหล่านี้สำหรับไฟล์ iso บ้าง? และวิธีการสร้างmd5sum.txt
ไฟล์ในอูบุนตู?
sha512sum
!
คำตอบ:
หากคุณดูหน้าคนสำหรับแต่ละคนคุณจะเห็นว่าพวกเขาพูดว่า:
md5sum - compute and check MD5 message digest
sha1sum - compute and check SHA1 message digest
sha256sum - compute and check SHA256 message digest
ที่บอกคุณว่าพวกเขาทั้งหมดสร้างข้อความย่อยซึ่งเป็นฟังก์ชั่นทางเดียวที่ใช้เป็นอาร์กิวเมนต์ของข้อมูลขนาดโดยพลการและส่งกลับแฮชขนาดคงที่ การแฮชจะถือว่าเป็นไปไม่ได้ (ภายในขอบเขตของการปฏิบัติจริง) เพื่อย้อนกลับและค้นหาข้อความสองข้อความที่แตกต่างกันด้วยแฮชเดียวกัน (เรียกว่าการชน)
ความแตกต่างระหว่างสามคืออัลกอริทึมที่ใช้ในการสร้างแฮชนี้
MD5ถูกประดิษฐ์ขึ้นในต้นปี 1990 และได้รับการพิจารณาว่ามีข้อบกพร่องและล้าสมัยในขณะนี้
SHA1ได้รับการพัฒนาในช่วงต้นปี 1990 มันถือว่าแข็งแกร่งกว่า MD5 แต่ไม่แรงพอ การใช้งานในปัจจุบันจะถูกถอนออกจากลายเซ็นดิจิตอลในใบรับรองดิจิตอล X.509
SHA256เป็นฟังก์ชันแฮชที่แนะนำในปัจจุบัน
ถ้าคุณไม่มีเหตุผลที่จะใช้อัลกอริธึมที่อ่อนแอกว่านั้น SHA256 คือหนทางที่จะไป
ในการสร้างไฟล์ข้อความเพียงแค่เปลี่ยนเส้นทางเอาต์พุตไปที่ไฟล์ ตัวอย่างเช่นหากคุณมีภาพ ISO ของ Ubuntu คุณต้องการแฮช:
md5sum Ubuntu.iso > md5sum.txt
แน่นอนว่ามันใช้ได้กับตัวแปรอื่น ๆ ด้วย
จากนั้นคุณสามารถ (เช่น) แจกจ่ายไฟล์นั้นผ่านอินเทอร์เน็ตและผู้รับสามารถตรวจสอบแฮชอีกครั้งด้วย:
md5sum Ubuntu.iso
ที่จะพิมพ์ MD5 hash ซึ่งผู้รับสามารถเปรียบเทียบกับเนื้อหาของmd5sum.txt
ไฟล์ที่คุณจะเผยแพร่ หากเหมือนกันไฟล์จะไม่ถูกแก้ไข
แน่นอนว่ามันจะดีกว่าที่จะใช้กว่าsha256sum
md5sum
คุณมักจะพบตัวเลือกของแฮชเหล่านี้ตีพิมพ์ ( md5sum.txt
, sha1sum.txt
และ / หรือsha256sum.txt
) กับ ISO เพื่อให้ความจริงที่ว่าบางระบบอาจจะไม่ได้ทั้งหมดของสาธารณูปโภคเหล่านี้
MD5, SHA-1 และ SHA-256 เป็นฟังก์ชันแฮชที่แตกต่างกัน (ย่อย) มีความแตกต่างทั้งในอัลกอริทึมและขนาดเอาต์พุต
หากคุณตรวจสอบไฟล์ขนาดใหญ่คุณสามารถเร่งกระบวนการได้โดยหลีกเลี่ยงการอ่านไฟล์หลาย ๆ ครั้ง วิธีการทั่วไปคือ
mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'
ในกรณีนี้มันง่ายกว่าเนื่องจากมีโปรแกรมที่คำนวณการย่อยหลาย ๆ อย่างพร้อมกัน:
gpg --print-mds input
gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2
anf จากนั้นเปรียบเทียบdigest.1
กับdigest.2