เครื่องสร้างค่าแฮช MD5

สร้างค่าตรวจสอบ MD5 ในรูปแบบเฮกซาเดซิมอลขนาด 32 ตัวอักษรที่เหมือนกันอย่างแม่นยำกับ md5sum, openssl dgst -md5 และ certutil -hashfile, มีประโยชน์เมื่อหน้าดาวน์โหลดแสดงค่า MD5 และคุณต้องการตรวจสอบความตรงกันของไฟล์โดยไม่จำเป็นต้องติดตั้งเครื่องมือ CLI รองรับการป้อนข้อความ (ถูกประมวลผลในรูปแบบไบต์ UTF-8 เหมือนกับเครื่องมือ Unix) และการป้อนไฟล์ (ผ่านการสตรีม ทำให้ไฟล์ขนาดใหญ่สามารถจัดเก็บในหน่วยความจำได้)

วิธีตรวจสอบค่าเช็คซัมของไฟล์

  1. 1

    วางไฟล์ที่ดาวน์โหลดมา

    เครื่องมือนี้จะส่งข้อมูลผ่านฟังก์ชัน MD5 ทีละส่วนแบบสตรีม

  2. 2

    รอการประมวลผลข้อมูลให้เสร็จสิ้น

    บนเครื่องส่วนใหญ่จะได้ความเร็วประมาณไม่กี่เมกะไบต์ต่อวินาที ไฟล์ ISO ขนาด 500 เมกะไบต์ใช้เวลาประมาณ 30 ถึง 60 วินาที

  3. 3

    เปรียบเทียบกับค่าเช็คซัมที่เผยแพร่แล้ว

    คัดลอกและวางค่าแฮชที่ต้องการ เครื่องมือจะแสดงความสอดคล้องหรือไม่สอดคล้องด้วยสี

  4. 4

    อย่าเรียกใช้ไฟล์หากไม่ตรงกัน

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

รูปแบบผลลัพธ์มาตรฐาน

MD5 สร้างค่าขนาด 128 บิต โดยปกติจะเขียนเป็นอักขระฐานสิบหกจำนวน 32 ตัวด้วยตัวพิมพ์เล็ก:

9e107d9d372bb6826bd81d3542a419d6

โปรแกรม Unix md5sum จะพิมพ์ผลลัพธ์ในรูปแบบ <hash> <filename> โดยมีช่องว่างสองตำแหน่ง ขณะที่ GNU Core Utilities กำหนดให้ใช้รูปแบบดังกล่าวสำหรับแฟลก -c (ตรวจสอบ)

โหมดข้อความ เทียบกับ โหมดไฟล์

  • การป้อนข้อความ จะถูกเข้ารหัสเป็น UTF-8 ก่อนการสร้างแฮช ซึ่งสอดคล้องกับ echo -n "text" | md5sum ในระบบยูนิกซ์ ส่วนค่าเริ่มต้นของ Get-FileHash ใน Windows PowerShell คือ UTF-16 เว้นแต่ผู้ใช้จะกำหนดไว้เป็นอย่างอื่น ด้วยเหตุนี้ค่าทั้งสองจึงอาจไม่ตรงกันได้
  • การป้อนไฟล์ จะถูกแฮชแบบไบต์ต่อไบต์ โดยไม่มีการแปลงรูปแบบการเข้ารหัสใดๆ ไม่ว่าไฟล์นั้นจะมีข้อมูลอะไรก็ตาม ทั้งเบราว์เซอร์และเครื่องมือ CLI จะให้ค่าแฮชของไฟล์ที่เหมือนกันเสมอ

การจับคู่ค่าเช็คซัมที่เผยแพร่แล้ว

หน้าดาวน์โหลดส่วนใหญ่จะแสดงค่าแฮชร่วมกับชื่อไฟล์

md5sum: 9e107d9d372bb6826bd81d3542a419d6  yourfile.iso
  • โปรดตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลดไฟล์ที่ตรงกับต้นฉบับอย่างแม่นยำ (บางครั้งผู้ผลิตอาจระบุค่าแฮชแยกตามรูปแบบของโปรเซสเซอร์ เช่น x86_64 เทียบกับ ARM)
  • ควรไว้วางใจแหล่งที่มาของค่า checksum โดยลิงก์ MD5 บนหน้าเว็บที่ถูกโจมตีนั้นไม่มีความน่าเชื่อถือเลย หากมีข้อมูลให้ตรวจสอบ ควรเปรียบเทียบกับไฟล์ SHA256SUMS ที่ลงนามด้วย GPG

สาเหตุทั่วไปของความไม่สอดคล้องกัน

  • การดาวน์โหลดบางส่วน, การดาวน์โหลดถูกระงับโดยเบราว์เซอร์ และดำเนินการต่ออย่างไม่ถูกต้อง
  • เวอร์ชันต่างกัน, เวอร์ชันบนมิร์เรอร์แตกต่างจากที่ค่าเช็คซัมระบุไว้
  • เลือกไฟล์ผิด (คุณได้แฮชไฟล์ .sig แทนที่จะเป็นไฟล์ ISO)
  • การบีบอัดหรือปรับรูปแบบใหม่, .tar.gz และไดเรกทอรีที่ถูกดึงออกมาจะมีค่าแฮชแตกต่างกันโดยสิ้นเชิง
  • การแทรกแซงจริง, เกิดขึ้นได้น้อย แต่เป็นเหตุผลที่ทำให้มีการใช้ค่าเช็คซัม

ความเร็ว

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

เมื่อ MD5 ไม่เพียงพอ

สำหรับการรักษาความสมบูรณ์ที่มีความสำคัญต่อความปลอดภัย (เช่น การตรวจสอบว่าไฟล์ติดตั้งที่ดาวน์โหลดมาไม่ได้ถูกแทนที่ด้วยมัลแวร์) ควรใช้ SHA-256 เนื่องจากการชนกันของ MD5 สามารถคำนวณได้อย่างง่ายดาย โครงการสมัยใหม่ส่วนใหญ่มักเผยแพร่ทั้งสองรูปแบบพร้อมกัน

คำถามที่พบบ่อย

PowerShell ใช้ SHA-256 เป็นค่าเริ่มต้นสำหรับ Get-FileHash แทนที่จะเป็น MD5 ให้ใช้ Get-FileHash -Algorithm MD5 file.iso เพื่อให้สอดคล้องกับค่า MD5 ที่เผยแพร่ไว้

เบราว์เซอร์สมัยใหม่ส่วนใหญ่สามารถสตรีมไฟล์ขนาดใหญ่ได้จนถึงประมาณ 2 GB โดยไม่มีปัญหา ส่วนไฟล์ขนาดใหญ่ เช่น DVD หรือภาพดิสก์ ควรใช้เครื่องมือ CLI เช่น md5sum file บน Linux และ Get-FileHash -Algorithm MD5 บน Windows

ไฟล์ .md5 โดยทั่วไปจะประกอบด้วยบรรทัดเดียว ได้แก่ ค่าแฮชในรูปแบบเฮกซ์ ตามด้วยช่องว่างสองช่อง และชื่อไฟล์ เครื่องมืออย่าง md5sum -c checksum.md5 จะอ่านบรรทัดนี้เพื่อตรวจสอบความถูกต้อง โดยเฉพาะส่วนของค่าเฮกซ์เท่านั้นที่ถือเป็นค่าแฮชดิบ

ใช่, การเกิดการชนกันของค่า MD5 สามารถสร้างขึ้นได้อย่างตั้งใจอย่างง่ายดาย ส่วนกรณีที่เกิดการชนกันโดยบังเอิญระหว่างไฟล์จริง อัตราความเป็นไปได้มีเพียงประมาณ 1 ใน 2^64 ซึ่งแทบไม่มีเลย ส่วนการป้องกันการชนกันแบบมีเจตนา ควรใช้ SHA-256

ไม่ กระบวนการแฮชจะทำงานทั้งหมดภายในเบราว์เซอร์ของคุณผ่าน WebCrypto API และชุดข้อมูลแบบอาร์เรย์ที่ถูกป้อนเข้ามา โดยไฟล์จะไม่เคยออกจากอุปกรณ์ของคุณเลย

เครื่องมือที่เกี่ยวข้อง

รหัสแปลงตัวเลขเป็นตัวอักษร

แปลงตัวเลขเป็นตัวอักษรและย้อนกลับด้วยรหัส A=1, B=2 (A1Z26) สำหรับปริศนา คำทาย และเบาะแสในห้องเอสเคปรูม

เครื่องมือเข้ารหัส Vigenère

เข้ารหัสและถอดรหัสข้อความด้วยรหัส Vigenère แบบคลาสสิกโดยใช้คำสำคัญ เลื่อนตัวอักษรละติน A-Z พร้อมคงตัวพิมพ์ใหญ่-เล็ก ช่องว่าง และเครื่องหมายวรรคตอน

ตัวสร้างแฮช (Hash Generator)

สร้างค่าแฮช MD5, SHA-1, SHA-256, SHA-384, SHA-512 และ CRC32 จากข้อความ พร้อมค่าไดเจสต์พร้อมคัดลอกสำหรับเช็คซัมและการเปรียบเทียบ

เครื่องมือสร้างกุญแจ PGP

สร้างคู่กุญแจ OpenPGP แบบ ASCII armor พร้อมใบรับรองการเพิกถอนด้วย Curve25519, RSA 2048 หรือ RSA 4096

ตัวสร้าง TOTP

สร้างรหัสผ่านแบบใช้ครั้งเดียวตามเวลา (RFC 6238) จากคีย์ลับ Base32 รองรับ SHA-1, SHA-256, SHA-512 จำนวน 6 ถึง 8 หลัก และช่วงเวลา 30 หรือ 60 วินาที

เครื่องแปลง Wei เป็น Ether

แปลง Wei เป็น Ether (ETH) ด้วยการคำนวณที่แม่นยำ ไม่มีการปัดเศษแบบจุดลอยตัว 1 ETH = 10^18 Wei

เครื่องมือนี้มีให้บริการในภาษาอื่น