MD5, SHA-1 และ HA-256 Hashes คืออะไรและฉันจะตรวจสอบได้อย่างไร
บางครั้งคุณจะเห็น MD5, SHA-1 หรือ SHA-256 hash แสดงขึ้นพร้อมกับการดาวน์โหลดระหว่างการเดินทางทางอินเทอร์เน็ตของคุณ แต่ไม่ทราบว่าเป็นอะไร สตริงข้อความแบบสุ่มที่ดูเหมือนจะช่วยให้คุณสามารถตรวจสอบไฟล์ที่คุณดาวน์โหลดไม่ได้เสียหายหรือถูกแก้ไข คุณสามารถทำได้ด้วยคำสั่งใน Windows, macOS และ Linux.
แฮชทำงานอย่างไรและใช้อย่างไรในการตรวจสอบข้อมูล
HASH เป็นผลิตภัณฑ์ของอัลกอริธึมการเข้ารหัสที่ออกแบบมาเพื่อสร้างสตริงของอักขระ บ่อยครั้งที่สตริงเหล่านี้มีความยาวคงที่โดยไม่คำนึงถึงขนาดของข้อมูลอินพุต ลองดูที่แผนภูมิด้านบนและคุณจะเห็นว่าทั้ง "จิ้งจอก" และ "จิ้งจอกแดงกระโดดข้ามสุนัขสีน้ำเงิน" ให้ผลผลิตที่มีความยาวเท่ากัน.
ตอนนี้เปรียบเทียบตัวอย่างที่สองในแผนภูมิกับที่สามสี่และห้า คุณจะเห็นว่าแม้จะมีการเปลี่ยนแปลงเล็กน้อยในข้อมูลอินพุต แต่ผลลัพธ์ที่ได้นั้นแตกต่างกันมาก แม้ว่าบางคนแก้ไขข้อมูลอินพุตขนาดเล็กมากแฮชจะเปลี่ยนไปอย่างมาก.
MD5, SHA-1 และ SHA-256 เป็นฟังก์ชันแฮชที่แตกต่างกันทั้งหมด ผู้สร้างซอฟต์แวร์มักใช้ไฟล์ที่ดาวน์โหลดเช่นไฟล์ Linux .iso หรือแม้แต่ไฟล์ Windows .exe และรันผ่านฟังก์ชั่นแฮช จากนั้นพวกเขาเสนอรายการแฮชอย่างเป็นทางการบนเว็บไซต์ของพวกเขา.
ด้วยวิธีนี้คุณสามารถดาวน์โหลดไฟล์จากนั้นเรียกใช้ฟังก์ชันแฮชเพื่อยืนยันว่าคุณมีไฟล์ต้นฉบับจริงและไม่เสียหายระหว่างกระบวนการดาวน์โหลด ตามที่เราเห็นด้านบนแม้แต่การเปลี่ยนแปลงเล็กน้อยในไฟล์จะเปลี่ยนแฮชอย่างมาก.
สิ่งเหล่านี้อาจมีประโยชน์หากคุณมีไฟล์ที่คุณได้รับจากแหล่งที่ไม่เป็นทางการและคุณต้องการยืนยันว่ามันถูกต้องตามกฎหมาย สมมติว่าคุณมีไฟล์ Linux .ISO ที่คุณได้รับจากที่อื่นและคุณต้องการยืนยันว่าไฟล์นั้นไม่ได้รับการแก้ไข คุณสามารถค้นหาแฮชของไฟล์ ISO นั้น ๆ แบบออนไลน์ได้บนเว็บไซต์ของการแจกจ่าย Linux จากนั้นคุณสามารถเรียกใช้ฟังก์ชันแฮชในคอมพิวเตอร์ของคุณและยืนยันว่าตรงกับค่าแฮชที่คุณต้องการ นี่เป็นการยืนยันว่าไฟล์ที่คุณมีนั้นเป็นไฟล์เดียวกับที่ถูกเสนอให้ดาวน์โหลดบนเว็บไซต์ของการแจกจ่าย Linux โดยไม่มีการดัดแปลงใด ๆ.
โปรดทราบว่าพบการชนกันของฟังก์ชัน MD5 และ SHA-1 ไฟล์เหล่านี้เป็นไฟล์ที่แตกต่างกันหลายไฟล์เช่นไฟล์ที่ปลอดภัยและไฟล์ที่เป็นอันตรายซึ่งส่งผลให้แฮช MD5 หรือ SHA-1 เดียวกัน นั่นเป็นเหตุผลที่คุณควรเลือก SHA-256 เมื่อเป็นไปได้.
วิธีการเปรียบเทียบฟังก์ชันแฮชในระบบปฏิบัติการใด ๆ
เมื่อพิจารณาแล้วให้ดูที่วิธีตรวจสอบแฮชของไฟล์ที่คุณดาวน์โหลดและเปรียบเทียบกับไฟล์ที่คุณได้รับ นี่คือวิธีการสำหรับ Windows, macOS และ Linux แฮชจะเหมือนกันเสมอหากคุณใช้ฟังก์ชันแฮชเดียวกันบนไฟล์เดียวกัน ไม่สำคัญว่าคุณใช้ระบบปฏิบัติการใด.
ของ windows
กระบวนการนี้เป็นไปได้โดยไม่ต้องมีซอฟต์แวร์ของ บริษัท อื่นบน Windows ด้วย PowerShell.
ในการเริ่มต้นให้เปิดหน้าต่าง PowerShell โดยเรียกใช้ทางลัด“ Windows PowerShell” ในเมนูเริ่มของคุณ.
เรียกใช้คำสั่งต่อไปนี้แทนที่“ C: \ path \ to \ file.iso” ด้วยพา ธ ไปยังไฟล์ใด ๆ ที่คุณต้องการดูแฮชของ:
Get-FileHash C: \ path \ to \ file.iso
จะใช้เวลาสักครู่ในการสร้างแฮชของไฟล์ขึ้นอยู่กับขนาดของไฟล์อัลกอริทึมที่คุณใช้และความเร็วของไดรฟ์ที่ไฟล์นั้นเปิดอยู่.
โดยค่าเริ่มต้นคำสั่งจะแสดงแฮช SHA-256 สำหรับไฟล์ อย่างไรก็ตามคุณสามารถระบุอัลกอริทึมการแฮชที่คุณต้องการใช้หากคุณต้องการ MD5, SHA-1 หรือแฮชประเภทอื่น.
รันหนึ่งในคำสั่งต่อไปนี้เพื่อระบุอัลกอริทึมการแฮชที่แตกต่างกัน:
Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA256
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA384
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA512
Get-FileHash C: \ path \ to \ file.iso - อัลกอริทึม MACTripleDES
Get-FileHash C: \ path \ to \ file.iso - อัลกอริทึม RIPEMD160
เปรียบเทียบผลลัพธ์ของฟังก์ชันแฮชกับผลลัพธ์ที่คุณคาดไว้ หากเป็นค่าเดียวกันไฟล์จะไม่ได้รับความเสียหายดัดแปลงหรือเปลี่ยนแปลงจากต้นฉบับ.
MacOS
macOS มีคำสั่งสำหรับการดูแฮชประเภทต่างๆ หากต้องการเข้าถึงให้เปิดหน้าต่างเทอร์มินัล คุณจะพบได้ที่ Finder> Applications> Utilities> Terminal.
md5
คำสั่งแสดง MD5 hash ของไฟล์:
md5 / path / to / file
shasum
คำสั่งแสดงการแฮช SHA-1 ของไฟล์เป็นค่าเริ่มต้น นั่นหมายความว่าคำสั่งต่อไปนี้เหมือนกัน:
shasum / path / to / file
shasum -a 1 / path / to / file
หากต้องการแสดงแฮช SHA-256 ของไฟล์ให้เรียกใช้คำสั่งต่อไปนี้:
shasum -a 256 / path / to / file
ลินุกซ์
บน Linux ให้เข้าถึง Terminal และเรียกใช้หนึ่งในคำสั่งต่อไปนี้เพื่อดูแฮชของไฟล์ขึ้นอยู่กับชนิดของแฮชที่คุณต้องการดู:
md5sum / path / to / file
sha1sum / path / to / file
sha256sum / path / to / file
HASH บางรายการมีการเซ็นชื่อแบบเข้ารหัสเพื่อความปลอดภัยที่มากยิ่งขึ้น
ในขณะที่แฮชสามารถช่วยคุณยืนยันว่าไฟล์ไม่ได้ถูกดัดแปลง แต่ก็ยังมีช่องทางหนึ่งในการโจมตีที่นี่ ผู้โจมตีสามารถเข้าควบคุมเว็บไซต์ของการแจกจ่าย Linux และแก้ไขแฮชที่ปรากฏบนเว็บไซต์หรือผู้โจมตีสามารถทำการโจมตีแบบ Man-in-the-middle และปรับเปลี่ยนเว็บเพจในการส่งผ่านหากคุณเข้าถึงเว็บไซต์ผ่าน HTTP แทน HTTPS ที่เข้ารหัส.
นั่นเป็นเหตุผลที่การแจกแจงลินุกซ์ที่ทันสมัยมักจะให้มากกว่าแฮชที่ปรากฏในหน้าเว็บ พวกเขาเซ็นชื่อรหัสแฮชเหล่านี้เพื่อช่วยป้องกันผู้โจมตีที่อาจพยายามปรับเปลี่ยนแฮช คุณจะต้องตรวจสอบลายเซ็นการเข้ารหัสลับเพื่อให้แน่ใจว่าไฟล์แฮชได้รับการลงนามจริง ๆ โดยการกระจาย Linux หากคุณต้องการแน่ใจว่าแฮชและไฟล์นั้นไม่ได้ถูกดัดแปลง.
การตรวจสอบลายเซ็นการเข้ารหัสลับเป็นกระบวนการที่เกี่ยวข้องมากกว่า อ่านคำแนะนำของเราเพื่อตรวจสอบความถูกต้องของ Linux ISO ที่ยังไม่ได้รับการแก้ไข.
เครดิตรูปภาพ: Jorge Stolfi / Wikimedia