ความแตกต่างระหว่าง Sha1sum, Sha256sum และ Md5sum


10

คือความแตกต่างระหว่างสิ่งที่Sha1sum, Sha256sumและMd5sum? และวิธีการตรวจสอบสิ่งเหล่านี้สำหรับไฟล์ iso บ้าง? และวิธีการสร้างmd5sum.txtไฟล์ในอูบุนตู?


1
เยี่ยมชมวิกิพีเดีย , นี้และนี้
Pandya

1
เรายังมีsha512sum!
จะ

คำตอบ:


8

หากคุณดูหน้าคนสำหรับแต่ละคนคุณจะเห็นว่าพวกเขาพูดว่า:

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 เพื่อให้ความจริงที่ว่าบางระบบอาจจะไม่ได้ทั้งหมดของสาธารณูปโภคเหล่านี้


1

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 ที่ยอดเยี่ยม แต่ฉันจะใช้เพื่อเปรียบเทียบไฟล์ต่าง ๆ ได้อย่างไร
Herman Toothrot

1
@ user4050 คุณสามารถใช้gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2anf จากนั้นเปรียบเทียบdigest.1กับdigest.2
Hauke ​​Laging
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.