โฮมเพจ » ทำอย่างไร » MD5, SHA-1 และ HA-256 Hashes คืออะไรและฉันจะตรวจสอบได้อย่างไร

    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