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 ตรงกันหรือปล่าว ถ้าตรงเราก็นำไปใช้ได้ เพราะไฟล์นั้นปลอดภัย ไม่เสียหายและไม่ถูกเปลี่ยนแปลงโดยบุคคลอื่น

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »

ทำความรู้จัก pgModeler และการติดตั้งบน Ubuntu 25.04

เนื่องจากการได้รับนิยมอย่างสูงของ PostgreSQL ทำให้ นักพัฒนาหลายคน ก็จะมองหาเครื่องมือที่จะมาช่วยให้การทำงานกับฐานข้อมูลนั้นง่าย เร็ว และ สะดวกขึ้น วันนี้เราพาไปดูเครื่องมือตัวหนึ่งที่ได้รับความนิยมใช้อย่างกว้างขวาง และ...

Read more »

ทำความรู้จักกับ Open Container Initiative OCI

ใน Proxmox VE 9.1 ที่เพิ่งเปิดตัวมาได้ไม่นานนี้ มีฟีเจอร์หนึ่งที่สร้างความฮือฮามากคือ การสนับสนุน OCI และ ทำให้หลายคนเริ่มต้องการเข้าใจว่ามันคืออะไร...

Read more »

IncusOS และ Incus สู่ยุคใหม่ของการจัดการ VM และ Container

IncusOS คืออะไร IncusOS เป็นดิสโทร Linux แบบ immutable หรือ Linux ที่ระบบไฟล์เปลี่ยนไม่ได้...

Read more »