บางครั้งคุณจะเห็นแฮช MD5, SHA-1 หรือ SHA-256 แสดงพร้อมกับการดาวน์โหลดระหว่างการเดินทางทางอินเทอร์เน็ตของคุณ แต่ไม่รู้จริงๆว่าคืออะไร สตริงข้อความที่ดูเหมือนสุ่มเหล่านี้ช่วยให้คุณตรวจสอบได้ว่าไฟล์ที่คุณดาวน์โหลดไม่เสียหายหรือถูกดัดแปลง คุณสามารถทำได้โดยใช้คำสั่งที่มีอยู่ใน Windows, macOS และ Linux
แฮชทำงานอย่างไรและใช้อย่างไรในการยืนยันข้อมูล
แฮชเป็นผลิตภัณฑ์ของการเข้ารหัส อัลกอริทึม ออกแบบมาเพื่อสร้างสตริงอักขระ บ่อยครั้งที่สตริงเหล่านี้มีความยาวคงที่โดยไม่คำนึงถึงขนาดของข้อมูลอินพุต ลองดูแผนภูมิด้านบนแล้วคุณจะเห็นว่าทั้ง“ สุนัขจิ้งจอก” และ“ จิ้งจอกแดงกระโดดข้ามสุนัขสีน้ำเงิน” ให้ผลผลิตที่มีความยาวเท่ากัน
เปรียบเทียบตัวอย่างที่สองในแผนภูมิกับตัวอย่างที่สามสี่และห้า คุณจะเห็นว่าแม้จะมีการเปลี่ยนแปลงเล็กน้อยในข้อมูลอินพุต แต่แฮชที่ได้ก็ล้วนแตกต่างกันมาก แม้ว่าจะมีคนแก้ไขข้อมูลอินพุตเพียงเล็กน้อย แต่แฮชก็จะเปลี่ยนไปอย่างมาก
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” ด้วยพา ธ ไปยังไฟล์ใด ๆ ที่คุณต้องการดูแฮชของ:
รับ FileHash C: \ path \ to \ file.iso
จะใช้เวลาสักครู่ในการสร้างแฮชของไฟล์ขึ้นอยู่กับขนาดของไฟล์อัลกอริทึมที่คุณใช้และความเร็วของไดรฟ์ที่ไฟล์เปิดอยู่
ตามค่าเริ่มต้นคำสั่งจะแสดงแฮช SHA-256 สำหรับไฟล์ อย่างไรก็ตามคุณสามารถระบุอัลกอริทึมการแฮชที่คุณต้องการใช้หากคุณต้องการแฮช MD5, SHA-1 หรือประเภทอื่น ๆ
เรียกใช้หนึ่งในคำสั่งต่อไปนี้เพื่อระบุอัลกอริทึมการแฮชที่แตกต่างกัน:
รับ FileHash C: \ path \ to \ file.iso -Algorithm MD5
รับ FileHash C: \ path \ to \ file.iso -Algorithm SHA1
รับ FileHash C: \ path \ to \ file.iso -Algorithm SHA256
รับ FileHash C: \ path \ to \ file.iso -Algorithm SHA384
รับ FileHash C: \ path \ to \ file.iso -Algorithm SHA512
รับ FileHash C: \ path \ to \ file.iso -Algorithm MACTripleDES
รับ FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160
เปรียบเทียบผลลัพธ์ของฟังก์ชันแฮชกับผลลัพธ์ที่คุณคาดว่าจะเห็น หากเป็นค่าเดียวกันไฟล์จะไม่เสียหายถูกดัดแปลงหรือเปลี่ยนแปลงจากต้นฉบับ
macOS
macOS มีคำสั่งสำหรับดูแฮชประเภทต่างๆ ในการเข้าถึงให้เปิดหน้าต่าง Terminal คุณจะพบได้ที่ Finder> Applications> Utilities> Terminal
สโมคกี้
คำสั่งแสดงแฮช MD5 ของไฟล์:
md5 / path / to / file
ชาซัม
คำสั่งแสดงแฮช 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
แฮชบางตัวได้รับการลงนามแบบเข้ารหัสเพื่อความปลอดภัยยิ่งขึ้น
แม้ว่าแฮชจะช่วยให้คุณยืนยันได้ว่าไฟล์ไม่ได้ถูกดัดแปลง แต่ก็ยังมีช่องทางการโจมตีอีกทางหนึ่ง ผู้โจมตีสามารถเข้าควบคุมเว็บไซต์ของการแจกจ่าย Linux และแก้ไขแฮชที่ปรากฏบนเว็บไซต์หรือผู้โจมตีสามารถทำการโจมตีแบบคนตรงกลางและแก้ไขหน้าเว็บระหว่างการส่งหากคุณกำลังเข้าถึงเว็บไซต์ผ่าน HTTP แทนที่จะเป็น HTTPS ที่เข้ารหัส .
นั่นเป็นเหตุผลที่ลีนุกซ์รุ่นใหม่มักให้แฮชมากกว่าที่ระบุไว้ในหน้าเว็บ พวกเขาเซ็นชื่อแฮชเหล่านี้แบบเข้ารหัสเพื่อช่วยป้องกันผู้โจมตีที่อาจพยายามแก้ไขแฮช คุณจะต้องตรวจสอบลายเซ็นการเข้ารหัสเพื่อให้แน่ใจว่าไฟล์แฮชได้รับการลงนามโดยการแจกจ่าย Linux จริง ๆ หากคุณต้องการให้แน่ใจว่าแฮชและไฟล์ไม่ได้ถูกดัดแปลง
ที่เกี่ยวข้อง: วิธีตรวจสอบ Checksum ของ Linux ISO และยืนยันว่าไม่มีการดัดแปลง
การตรวจสอบลายเซ็นการเข้ารหัสเป็นกระบวนการที่เกี่ยวข้องมากกว่า อ่าน คำแนะนำของเราในการตรวจสอบ ISO ของ Linux ไม่ได้ถูกดัดแปลง พร้อมคำแนะนำแบบเต็ม
เครดิตรูปภาพ: Jorge Stolfi / วิกิมีเดีย