fixmint
TH

MD5, SHA-1 หรือ SHA-256: ควรใช้แฮชแบบไหนกับไฟล์ดาวน์โหลด

โดย · · อัปเดตเมื่อ 8 พฤศจิกายน 2026 · อ่าน 4 นาที

เมื่อจะตรวจสอบไฟล์ดาวน์โหลด ควรใช้ SHA-256 หรือ SHA-512 ทุกครั้งที่ผู้เผยแพร่มีให้ MD5 และ SHA-1 ยังใช้ตรวจจับความเสียหายโดยไม่ตั้งใจได้ เช่น ไฟล์ดาวน์โหลดที่ขาดหายไปครึ่งทาง แต่นักวิจัยได้แสดงให้เห็นแล้วว่าไฟล์สองไฟล์ที่ต่างกันสามารถถูกสร้างให้มีค่า MD5 หรือ SHA-1 เดียวกันได้ ดังนั้นเมื่อค่าจากอัลกอริทึมเหล่านี้ตรงกัน ก็ไม่สามารถพิสูจน์ได้ว่าไฟล์นั้นเป็นไฟล์ที่ผู้เผยแพร่สร้างขึ้นจริง แฮชคือลายนิ้วมือ ไม่ใช่การเข้ารหัส และจะมีความหมายก็ต่อเมื่อมาจากแหล่งที่คุณเชื่อถือได้เท่านั้น

เครื่องมือสร้างแฮชไฟล์ที่โหลดมาตรงกับต้นฉบับไหมใช้ฟรี

แฮชทำอะไรได้และทำอะไรไม่ได้

ฟังก์ชันแฮชจะแปลงข้อมูลที่มีขนาดใดก็ได้ให้เป็นลายนิ้วมือที่มีความยาวคงที่ ข้อมูลเดิมจะได้ลายนิ้วมือเดิมเสมอ และหากเปลี่ยนแค่หนึ่งไบต์ ลายนิ้วมือที่ได้จะต่างไปโดยสิ้นเชิง จึงทำให้แฮชเหมาะกับการเปรียบเทียบ หากลายนิ้วมือของสำเนาที่คุณมีตรงกับที่ประกาศไว้ ไฟล์ทั้งสองแทบจะเหมือนกันทุกประการ

แฮชไม่ใช่การเข้ารหัส ไม่สามารถย้อนกลับเพื่อกู้ไฟล์ได้ และไม่ใช้กุญแจใด ๆ มันไม่ได้ซ่อนอะไรไว้ และตัวมันเองไม่ได้พิสูจน์ว่าใครเป็นผู้สร้างไฟล์ checksum ก็คือแฮชที่ผู้เผยแพร่แสดงไว้ข้างลิงก์ดาวน์โหลด เพื่อให้คุณเอาไปเทียบนั่นเอง

ตัวเลือกทั่วไปสี่แบบ

อัลกอริทึมความยาวผลลัพธ์ใช้สำหรับ
MD5128 บิต, 32 อักขระเฮกซะเดซิมอลตรวจจับความเสียหายโดยไม่ตั้งใจเท่านั้น
SHA-1160 บิต, 40 อักขระเฮกซะเดซิมอลการตรวจแบบเดิม หลีกเลี่ยงการใช้เพื่อความปลอดภัย
SHA-256256 บิต, 64 อักขระเฮกซะเดซิมอลตัวเลือกที่นิยมสำหรับไฟล์ดาวน์โหลด
SHA-512512 บิต, 128 อักขระเฮกซะเดซิมอลตระกูลเดียวกัน แต่ให้ผลลัพธ์ที่ยาวกว่า

ทำไม MD5 และ SHA-1 จึงไม่เพียงพอ

การชน (collision) หมายถึงข้อมูลนำเข้าสองชุดที่ต่างกันแต่ให้แฮชเดียวกัน การชนของ MD5 เป็นที่รู้จักมาตั้งแต่ปี 2004 ส่วนในปี 2017 นักวิจัยได้เผยแพร่การชนของ SHA-1 ในทางปฏิบัติ คือไฟล์ PDF สองไฟล์ที่ต่างกันแต่มีแฮชเดียวกัน

สำหรับไฟล์ดาวน์โหลด เรื่องนี้สำคัญเพราะผู้โจมตีที่ควบคุมไฟล์ได้สามารถสร้างไฟล์ที่เป็นอันตรายขึ้นมา โดยให้มีค่า MD5 หรือ SHA-1 เหมือนกับไฟล์ของแท้ได้ หากผู้เผยแพร่ระบุเฉพาะ MD5 หรือ SHA-1 การที่ค่าตรงกันก็ไม่ได้ยืนยันว่าไฟล์นั้นของแท้อีกต่อไป คู่มือ FAQ ของเครื่องมือสร้างแฮชเองก็ย้ำประเด็นนี้ว่า ให้ใช้ SHA-256 หรือ SHA-512 กับทุกเรื่องที่เกี่ยวข้องกับความปลอดภัย

ณ เวลาที่เขียนบทความนี้ ยังไม่พบการชนของ SHA-256 ที่ทำได้จริง นี่คือเหตุผลที่ SHA-256 เป็นตัวเลือกที่นิยม คู่มือตรวจสอบ checksum ด้วย SHA-256 อธิบายขั้นตอนไว้อย่างละเอียด

เลือกให้ถูกแบบ

  1. หากผู้เผยแพร่มี SHA-256 หรือ SHA-512 ให้ใช้ค่านั้น และไม่ต้องพิจารณา MD5 และ SHA-1 เพื่อความปลอดภัย
  2. หากมีเฉพาะ MD5 หรือ SHA-1 ก็ยังควรตรวจด้วย เครื่องมือสร้างแฮช เพราะช่วยจับไฟล์ที่เสียหายหรือไม่สมบูรณ์ได้ ให้ถือว่าค่าที่ตรงกันหมายถึง "ไม่เสียหาย" ไม่ใช่ "ของแท้"
  3. หากไม่มีแฮชให้เลย ก็ตรวจความสมบูรณ์ด้วยวิธีนี้ไม่ได้ ให้ดาวน์โหลดจากหน้าทางการที่ใช้ HTTPS และหากโครงการเผยแพร่ไฟล์ checksum ที่มีลายเซ็น ก็ให้ตรวจลายเซ็นด้วย

เครื่องมือสร้างแฮช คำนวณ MD5, SHA-1, SHA-256, SHA-384 และ SHA-512 พร้อมกันได้ ทั้งสำหรับข้อความหรือไฟล์หนึ่งไฟล์ ไฟล์จะถูกอ่านในเบราว์เซอร์ของคุณ และไม่มีการอัปโหลดใด ๆ ขึ้นเซิร์ฟเวอร์ วางแฮชที่ผู้เผยแพร่ให้ไว้ในช่อง Expected hash เครื่องมือจะลบช่องว่างและไม่สนใจตัวพิมพ์ใหญ่-เล็กก่อนเปรียบเทียบ ดังนั้นแฮชที่พิมพ์เป็นตัวพิมพ์ใหญ่หรือแบ่งเป็นกลุ่มก็ยังเทียบได้ตรงกัน ไฟล์ขนาดใหญ่มากอาจทำให้หน่วยความจำของเบราว์เซอร์รับไม่ไหว ในกรณีนั้นให้ใช้เครื่องมือบรรทัดคำสั่ง เช่น sha256sum บน Linux หรือ shasum -a 256 บน Mac

ค่าที่ตรงกันบอกอะไรคุณได้บ้าง

หากแฮชตรงกัน หมายความว่าสำเนาของคุณแทบจะเหมือนกับไฟล์ที่ถูกนำมาคำนวณทุกประการ แต่ไม่ได้บอกว่าใครเป็นคนคำนวณ หรือไฟล์นั้นเป็นไฟล์ที่ผู้เผยแพร่ตั้งใจจะปล่อยจริงหรือไม่ ในจุดนี้แหล่งที่มาสำคัญกว่าอัลกอริทึม หากแฮชมาจากหน้าประกาศรุ่นของผู้เผยแพร่เอง และคุณเข้าไปที่หน้านั้นโดยตรง ไม่ได้ผ่านลิงก์ในข้อความที่ได้รับมา ค่าที่ตรงกันถือเป็นหลักฐานที่น่าเชื่อถือ แต่ถ้าแฮชมาจากความคิดเห็น มิเรอร์ หรือฟอรัม ให้ถือว่ายังไม่ได้รับการยืนยัน จนกว่าคุณจะพบค่าเดียวกันในหน้าที่เชื่อถือได้

checksum ต้องมาจากแหล่งที่เชื่อถือได้

checksum ที่วางอยู่บนเซิร์ฟเวอร์เดียวกันกับไฟล์ พิสูจน์ได้เพียงว่าสำเนาตรงกับสิ่งที่เซิร์ฟเวอร์นั้นเก็บไว้ หากผู้โจมตีเปลี่ยนไฟล์ เขาก็เปลี่ยน checksum ที่อยู่ข้างกันได้เช่นกัน checksum จะช่วยได้ก็ต่อเมื่อมาจากที่อื่นที่แยกออกจากกัน เช่น บันทึกประกาศรุ่นที่มีลายเซ็นของโครงการ หรือหน้าที่คุณเข้าถึงโดยไม่ผ่านลิงก์ดาวน์โหลด

แฮชสำหรับรหัสผ่านไม่เหมือนกัน

การเก็บรหัสผ่านก็ใช้การแฮชเช่นกัน แต่ต้องใช้แฮชที่ช้าโดยออกแบบมาสำหรับรหัสผ่าน และมี salt ที่ไม่ซ้ำกันสำหรับแต่ละรหัสผ่าน แฮชที่เร็วอย่าง SHA-256 ไม่เหมาะกับงานนี้ สำหรับไฟล์ดาวน์โหลด เป้าหมายคือการเปรียบเทียบ ซึ่ง SHA-256 ทำได้ดีมาก

กรณีพิเศษ

  • ตัวพิมพ์ อักษรเฮกซ์ A ถึง F มีค่าเท่ากันไม่ว่าจะเป็นตัวพิมพ์ใหญ่หรือเล็ก จึงเปรียบเทียบได้โดยไม่ต้องสนใจตัวพิมพ์
  • แฮชที่ถูกตัดทอน บางเว็บไซต์แสดงเฉพาะส่วนต้นของแฮช การตรงกันเพียงบางส่วนพิสูจน์อะไรได้น้อยมาก จึงควรเทียบทั้งค่า
  • หลายไฟล์ บางโครงการเผยแพร่ไฟล์ checksum ไฟล์เดียวสำหรับทั้งรุ่น ให้หาบรรทัดที่มีชื่อไฟล์ตรงทุกตัวอักษร เพราะการตรงกับบรรทัดของไฟล์อื่นไม่ได้พิสูจน์อะไรเลย

แปลจาก ฉบับภาษาอังกฤษ ด้วยความช่วยเหลือของ AI

ความคิดเห็น

    ยังไม่มีความคิดเห็น มาเป็นคนแรกกันเลย

    คะแนนของคุณ (ไม่บังคับ)

    อีเมลของคุณจะไม่ถูกแสดงหรือเก็บไว้

    ปกของ How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 หน้าว่าด้วยข้อได้เปรียบของมนุษย์ ด้านเศรษฐกิจ และด้านกลยุทธ์ ที่ยังคงหายากแม้ AI จะทำงานด้านการคิดได้เกือบทั้งหมด

    $3.84ซื้อบน Gumroadฉบับภาษาอังกฤษ