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

SAN is out SDS is in

วันนี้เราจะไปพาไปพบกับ คำถามที่ช่วงนี้ต้องบอกว่า พบเจอบ่อยมากๆ นั่นคือ การที่หลายๆ คนใช้งาน Storage Area Network หรือที่เรียกสั้นๆ...

Read more »

ข้อดีของการมีระบบจองที่พักหรือโรงแรมเป็นของตัวเอง

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

Read more »

ระบบฐานข้อมูล และ การใช้งานประจำปี 2025

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

Read more »

Virtual Tape Library คืออะไรและมีประโยชน์อย่างไร

สำหรับ Tape Backup นั้นหลายๆ คนคงจะรู้จัก และใช้งานกันมานานพอสมควร แม้กระทั่งทุกวันนี้หลายๆ องค์กรก็ยังใช้งาน Tape อยู่...

Read more »

ทดสอบ IOPS ด้วย KDiskMark

หากพูดถึง CrystalDiskMark ก็ต้องบอกว่าเป็นที่รู้จักกันในโลกของ Windows กันมา พอสมควรแล้ว เพราะถูกใช้กันอย่างกว้างขวางในการทดสอบ IOPS บน Disk/SSD...

Read more »

GraphQL คืออะไร และ มันอาจจะเป็นสิ่งที่มาเปลี่ยน REST API

GraphQL คืออะไร ก่อนอื่นต้องบอกก่อน วิธีการสื่อสารระหว่าง client & server นั้นเราใช้วิธีการที่เรียกว่า REST API...

Read more »