fixmint
TH

วิธีตรวจสอบค่า SHA-256 ของไฟล์ที่ดาวน์โหลดในเบราว์เซอร์

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

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

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

เช็คซัมพิสูจน์อะไรได้บ้าง

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

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

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

ผู้เผยแพร่มักระบุค่าแฮชไว้ที่ไหน

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

ให้อ่านชื่ออัลกอริทึมด้วย บรรทัดที่ระบุ SHA-256 ต้องใช้แฮช SHA-256 ซึ่งมี 64 อักขระเลขฐานสิบหก ค่าที่มี 32 อักขระคือ MD5 และ 40 อักขระคือ SHA-1 เครื่องมือต้องรู้ว่ากำลังเทียบค่าแบบไหน และคุณก็ต้องรู้เช่นกัน

เทียบแฮชใน 4 ขั้นตอน

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

หากชอบใช้เทอร์มินัล การตรวจสอบเดียวกันทำได้ด้วยคำสั่งเดียว บน Linux รัน sha256sum ตามด้วยไฟล์ บน macOS ใช้ shasum -a 256 ได้ผลเหมือนกัน ใน Windows PowerShell ใช้ Get-FileHash -Algorithm SHA256 ตามด้วยพาธของไฟล์ ผลลัพธ์คือสตริงเลขฐานสิบหกชุดเดียวกับที่เครื่องมือแสดง

แฮชไม่ได้มีไว้เทียบกับค่าที่เผยแพร่เท่านั้น การตรวจสอบไฟล์เสียหาย ใช้แนวคิดเดียวกันเพื่อบอกว่าไฟล์เสียหายหรือไม่ ส่วนไฟล์ซ้ำ ก็ค้นหาด้วยวิธีเดียวกัน คือเทียบแฮชเพื่อหาสำเนาที่เหมือนกันในโฟลเดอร์

แฮชข้อความที่พิมพ์

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

ทำไม MD5 และ SHA-1 จึงไม่ปลอดภัย

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

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

คำตอบสั้น ๆ

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

ไฟล์สองไฟล์ต่างกันจะมี SHA-256 เดียวกันได้หรือไม่ ในทางปฏิบัติไม่ได้ ณ เวลาที่เขียนบทความนี้ยังไม่มีวิธีที่ใช้ได้จริงในการหาคู่ไฟล์เช่นนั้น

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

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

ความคิดเห็น

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

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

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

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

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

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