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

อะไรคือ EVPN

การทำ virtualization ในระดับเครือข่าย มันจะต้องเจอกับข้อจำกัด หรือ อาจจะเรียกว่าความเข้มงวดในหลายๆ ส่วนที่เกี่ยวข้อง ยกตัวอย่างเช่น Virtual Private...

Read more »

อะไรคือ VXLAN

อะไรคือ VXLAN VXLAN นั้นย่อมาจาก Virtual Extensible Local-Area Networks คือหนึ่งในมาตรฐานที่ถูกกำหนดไว้โดย Internet...

Read more »

ทำไม Tailscale จึงเป็นตัวเลือกที่เหนือกว่า VPN แบบเดิมๆ

สำหรับ Virtual Private Network หรือ VPN นั้นแน่นอนว่า ภาคธุรกิจนั้นคุ้นเคยและมีการใช้งานกันมาอย่างยาวนานแล้ว เพราะมันสามารถสร้างรูปแบบการเชื่อมต่อที่ปลอดภัย สำหรับการเข้าถึงเครือข่ายภายใน...

Read more »

Stratis Storage

จากการที่ Fedora Engineering and Steering Committee (FESCo) ได้อนุมัติถึงการให้มีการตั้งค่าการติดตั้ง Stratis Storage...

Read more »

What is Network Functions Virtualization NFV

Network Functions Virtualization คือสิ่งที่เข้ามาแทนที่อุปกรณ์เน็ตเวิร์กที่เป็นฮาร์ดแวร์ด้วยความสามารถของ virtual machine ที่ทำหน้าที่ด้านการทำ routing และ load...

Read more »

Introduction to HAProxy and MetalLB

ทำความรู้จักกับ HAProxy และ MetalLB: หัวใจสำคัญของระบบ Load Balancing ใน Kubernetes บทนำ...

Read more »