Verifying Files with MD5 Checksum

Published on September 7, 2024
Verifying Files with MD5 Checksum

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

MD5 (ย่อมาจาก Message Digest Algorithm 5) เป็นอัลกอริทึมการแฮชแบบเข้ารหัสที่ใช้ในการสร้างค่าที่เป็นตัวแทนข้อมูลขนาดใหญ่ในรูปของสตริงที่มีความยาวคงที่ โดยปกติแล้ว MD5 จะสร้างผลลัพธ์ที่เป็นสตริงความยาว 128 บิต (16 ไบต์) หรือ 32 ตัวอักษรในระบบเลขฐานสิบหก

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

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

  1. ตรวจสอบความสมบูรณ์ของไฟล์ (Integrity Check): MD5 ช่วยให้สามารถตรวจสอบได้ว่าไฟล์ไม่ได้ถูกแก้ไข เปลี่ยนแปลง หรือเสียหายระหว่างการโอนย้ายหรือการดาวน์โหลด การเปรียบเทียบค่าแฮชของไฟล์ที่ได้รับกับค่าแฮชที่รู้จัก (หรือที่ผู้ส่งให้) จะช่วยยืนยันว่าไฟล์ยังคงสมบูรณ์
  2. การตรวจสอบความถูกต้องของการดาวน์โหลด: เมื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ต ผู้ให้บริการมักจะให้ค่าแฮช MD5 ของไฟล์เพื่อให้ผู้ใช้งานสามารถตรวจสอบได้ว่าไฟล์ที่ดาวน์โหลดนั้นถูกต้องและไม่ได้รับผลกระทบจากข้อผิดพลาดในกระบวนการดาวน์โหลดหรือการถูกแก้ไขโดยผู้ไม่ประสงค์ดี
  3. การตรวจสอบความถูกต้องในระบบเก็บข้อมูล (Data Integrity in Storage Systems): ใช้ในการตรวจสอบความถูกต้องของข้อมูลที่ถูกเก็บในระบบเก็บข้อมูลหรือเซิร์ฟเวอร์ เพื่อป้องกันความผิดพลาดที่เกิดจากฮาร์ดแวร์หรือการคัดลอกข้อมูล

ในครั้งหน้าเราจะมาสอนเรื่องการใช้ SHA-256 ที่เริ่มเข้ามาแทนที่ MD5 ด้วยความปลอดภัยที่เหนือกว่า และ ตอนนี้เรามายกตัวอย่างและคำสั่งในการเช็ค checksum ด้วย MD5 สำหรับ fireware ที่เราดาวน์โหลดมาเพื่อทำการอัพเกรด Fortigate 201E ของเรา

ด้านหลังไฟล์นั้นจะมีสิ่งที่เรียกว่า checksum ให้เราเช็ค และ ดูตัวอักษรดังกล่าวไว้

หลังจากนั้นให้เราใช้คำสั่ง Get-FileHash ตามด้วย -Path และตามด้วยชื่อไฟล์ และ ตามด้วย -Algorithm MD5 เพื่อเช็คว่าไฟล์มี checksum ตรงกันหรือปล่าว ถ้าตรงเราก็นำไปใช้ได้ เพราะไฟล์นั้นปลอดภัย ไม่เสียหายและไม่ถูกเปลี่ยนแปลงโดยบุคคลอื่น

Benefits of having your own WordPress ecommerce site

WordPress คืออะไร WordPress เป็นระบบจัดการเนื้อหา (Content Management System: CMS) แบบโอเพนซอร์ส ที่มีการใช้งานมานานกว่า...

Read more »

วิธีการตั้งค่า Cluster HA & Ceph Storage Proxmox VE ให้พร้อมใช้งาน EP3/3

ในระบบไอทีที่ต้องการความต่อเนื่องในการให้บริการอย่างสูง เช่น ระบบฐานข้อมูล, เว็บเซิร์ฟเวอร์ หรือแอปพลิเคชันระดับองค์กร การหยุดทำงานของเครื่องแม่ข่าย (Server) อาจส่งผลกระทบอย่างรุนแรงต่อผู้ใช้งานและธุรกิจโดยรวม เมื่อคุณมีทั้ง Cluster...

Read more »

Migrate from VMware ESXi to Hyper-V

เนื่องจากราคาค่าบริการของ VMware ที่เพิ่มขึ้นอย่างมาก ซึ่งเฉลี่ยแล้วไม่น้อยว่า 15 เท่าจากราคาเดิม สำหรับค่าลิขสิทธิ์ ทำให้หลายต่อหลายองค์กรมองหาทางเลือกใหม่ สำหรับ Hypervisor...

Read more »

วิธีการตั้งค่า Cluster HA & Ceph Storage Proxmox VE ให้พร้อมใช้งาน EP2/3

หลังจากที่เราสร้าง Cluster ทั้ง 3 Node สำเร็จแล้ว ขั้นตอนต่อไปเพื่อให้ Cluster มีความสมบูรณ์และพร้อมใช้งานในระดับ Production...

Read more »

วิธีการตั้งค่า Cluster HA & Ceph Storage Proxmox VE ให้พร้อมใช้งาน EP1/3

ในสภาพแวดล้อมของ Data Center หรือระบบ Virtualization ที่ให้บริการ VM หลายเครื่องบนโฮสต์หลายเครื่อง การทำให้ระบบมีความทนทานและไม่เกิด Downtime...

Read more »

Pre-installation Checklist for Proxmox VE Cluster

สิ่งที่ต้องเตรียม ก่อนการทำ Proxmox VE Clustering 1. Hostname & DNS -...

Read more »