เครื่องสร้างค่า MD5

MD5 สร้างค่าไดเจสต์ขนาด 128 บิต (เทียบเท่า 32 ตัวอักษรฐานสิบหก) จากข้อมูลนำเข้าใดๆ ไม่ว่าจะเป็นข้อความ ไฟล์ หรือสตรีม แม้ว่าจะถูกเจาะสำหรับงานเข้ารหัสตั้งแต่ปี 2004 แล้ว แต่ MD5 ก็ยังเป็นมาตรฐานสำหรับการตรวจสอบความสมบูรณ์อย่างรวดเร็ว เช่น การตรวจสอบการดาวน์โหลดแพ็กเกจ การสร้างลายนิ้วมือเพื่อกำจัดข้อมูลซ้ำ และการตั้งชื่อ git blob ในบางกรณี เพียงวางข้อความหรือลากไฟล์มาวาง เครื่องมือก็จะคืนค่าไดเจสต์แบบฐานสิบหกให้ในเครื่องของคุณ โดยไม่อัปโหลดข้อมูลใดๆ

วิธีสร้างค่าแฮช MD5

  1. 1

    เลือกข้อมูลนำเข้า

    ช่องข้อความสำหรับสตริงใดก็ได้ หรือตัวเลือกไฟล์สำหรับไฟล์ทุกขนาดจนถึงประมาณ 2 GB

  2. 2

    เครื่องมือคำนวณค่า MD5 ในเครื่อง

    ไฟล์จะถูกสตรีมเป็นชิ้นๆ เพื่อไม่ให้ไฟล์ขนาดใหญ่กินหน่วยความจำมากเกินไป

  3. 3

    อ่านค่าไดเจสต์ฐานสิบหก

    ตัวอักษรฐานสิบหก 32 ตัว, รูปแบบการแสดงผลมาตรฐานของ MD5

  4. 4

    คัดลอกหรือเปรียบเทียบ

    เปรียบเทียบกับค่าแฮชที่คาดไว้ (เช่น ค่า MD5 ที่ผู้สร้างแพ็กเกจเผยแพร่) หรือคัดลอกไว้เป็นบันทึกของคุณ

MD5 คืออะไร และไม่ใช่อะไร

  • กำหนดผลได้แน่นอน: ข้อมูลนำเข้าชุดเดียวกันจะให้ผลลัพธ์ขนาด 128 บิตเดิมเสมอ
  • ความยาวคงที่: ไม่ว่าข้อมูลนำเข้าจะมีขนาดเท่าใด (1 ไบต์หรือ 1 กิกะไบต์) ก็จะให้ผลลัพธ์เป็นตัวอักษรฐานสิบหก 32 ตัว
  • ทางเดียว: เมื่อมีค่าไดเจสต์ MD5 แล้ว ไม่สามารถย้อนกลับเพื่อกู้คืนข้อมูลนำเข้าได้ (ยกเว้นข้อมูลขนาดเล็กมากที่มีตารางสายรุ้ง หรือ rainbow tables อยู่)
  • ถูกเจาะในฐานะแฮชเชิงเข้ารหัส: การเกิดการชนกัน (collision) คำนวณได้ง่ายมาก ห้ามใช้ MD5 ในกรณีต่อไปนี้:
    • การจัดเก็บรหัสผ่าน (ใช้ bcrypt, scrypt, Argon2)
    • ลายเซ็นดิจิทัล (ใช้ SHA-256 หรือ SHA-3)
    • การลงนามใบรับรอง TLS (เบราว์เซอร์รุ่นใหม่ปฏิเสธ)
    • ข้ออ้างเรื่องความสมบูรณ์ที่อ่อนไหวต่อความปลอดภัยซึ่งผู้โจมตีอาจใช้ประโยชน์ได้

กรณีที่ MD5 ยังใช้งานได้ดี

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

ตัวอย่างการใช้งานจริง

ข้อความนำเข้า ไดเจสต์ MD5
(สตริงว่าง) d41d8cd98f00b204e9800998ecf8427e
a 0cc175b9c0f1b6a831c399e269772661
abc 900150983cd24fb0d6963f7d28e17f72
The quick brown fox jumps over the lazy dog 9e107d9d372bb6826bd81d3542a419d6
The quick brown fox jumps over the lazy dog. (จุดท้ายประโยค) e4d909c290d0fb1ca068ffaddf22cbd0

สังเกตว่าตัวอักษรเพียงตัวเดียว (จุดท้ายประโยค) เปลี่ยนไดเจสต์ทั้งหมดได้อย่างสิ้นเชิง นี่คือคุณสมบัติแบบหิมะถล่ม (avalanche)

MD5 เทียบกับตระกูล SHA

ฟังก์ชัน ขนาดผลลัพธ์ ถูกเจาะด้วยการชนกันแล้ว? การใช้งานทั่วไปในปัจจุบัน
MD5 128 บิต ใช่ (ปี 2004) ความสมบูรณ์ของข้อมูล การกำจัดข้อมูลซ้ำ และ ETag
SHA-1 160 บิต ใช่ (ปี 2017) ของเดิม; ควรเลี่ยงในงานใหม่
SHA-256 256 บิต ไม่ TLS, คอมมิต, การเข้ารหัสทั่วไป
SHA-3 224–512 บิต ไม่ ทางเลือกสมัยใหม่แทน SHA-2
BLAKE3 256 บิต ไม่ ตัวแทน SHA-2 ที่รวดเร็ว

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

ไม่ได้ เพราะ MD5 ถูกเจาะด้วยวิธี brute-force ได้ง่ายมากบน GPU รุ่นใหม่ และถูกเจาะมาตั้งแต่ปี 2004 ควรใช้ฟังก์ชันแฮชสำหรับรหัสผ่าน เช่น Argon2, scrypt หรือ bcrypt

สำหรับความสมบูรณ์ทั่วไป (ดาวน์โหลดเสร็จหรือไม่) ใช่ แต่สำหรับความสมบูรณ์ต่อการโจมตี (มีผู้เปลี่ยนไฟล์เป็นเวอร์ชันอันตรายหรือไม่) ไม่, ควรใช้ SHA-256

ไม่ กระบวนการแฮชทำงานภายในเบราว์เซอร์ผ่าน WebCrypto และอาร์เรย์แบบมีชนิด ไฟล์ไม่เคยออกจากอุปกรณ์ของคุณเลย ซึ่งสำคัญอย่างยิ่งเมื่อต้องแฮชข้อมูลส่วนตัวหรือข้อมูลภายใต้ข้อตกลงไม่เปิดเผย (NDA)

เบราว์เซอร์รุ่นใหม่รองรับข้อมูลสตรีมได้ราว 2 GB อย่างสบาย ส่วนไฟล์ขนาดใหญ่มาก (หลายสิบ GB) ควรแฮชด้วยเครื่องมือบรรทัดคำสั่ง เช่น md5sum หรือ openssl dgst -md5 จะเหมาะกว่า

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

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

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

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

เครื่องมือเข้ารหัสข้อความ

เข้ารหัสและถอดรหัสข้อความโดยใช้ AES พร้อมรหัสผ่าน เพื่อให้มีเพียงผู้รับเท่านั้นที่สามารถอ่านข้อความได้

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

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

ตัวสร้าง TOTP

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

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

สร้างค่าแฮช SHA-1 (ยาว 40 ตัวอักษรเฮกซาเดซิมอล) จากข้อความใดๆ เหมาะอย่างยิ่งสำหรับการตรวจสอบค่าเช็คซัมแบบดั้งเดิม รหัสประจำออบเจกต์ของ Git และการตรวจสอบความสมบูรณ์ที่ไม่เกี่ยวข้องกับความปลอดภัย

เครื่องมือสร้างคีย์ SSH

สร้างคู่คีย์ SSH แบบ RSA (2048, 3072 หรือ 4096 บิต) ทั้งหมดในเบราว์เซอร์ของคุณ ทั้งคีย์ส่วนตัวและคีย์สาธารณะไม่ออกจากอุปกรณ์ของคุณ เพิ่มความคิดเห็นและดาวน์โหลดทั้งสองได้

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