ข้ามไปยังเนื้อหา

เครื่องมือสร้าง MD5 แฮช ออนไลน์ - เครื่องมือเข้ารหัส MD5 ฟรี

สร้าง MD5 แฮชได้ทันทีด้วยเครื่องมือออนไลน์ฟรีของเรา การประมวลผลฝั่งไคลเอนต์รับประกันความเป็นส่วนตัว เหมาะสำหรับการตรวจสอบความถูกต้องของข้อมูลและการตรวจสอบไฟล์

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

เครื่องคำนวณโหลด...
📚

เอกสารประกอบการใช้งาน

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

เครื่องสร้างแฮช MD5 เป็นเครื่องมือที่แปลงข้อความใด ๆ ให้เป็นรหัสความยาวคงที่ที่เรียกว่าแฮช MD5 MD5 ย่อมาจาก Message-Digest Algorithm 5 ซึ่งเป็นฟังก์ชันแฮชที่เผยแพร่ในปี 1992 ไม่ว่าจะป้อนคำ ประโยค หรือไฟล์ทั้งไฟล์ ผลลัพธ์จะมีความยาว 32 อักขระเท่าเดิมเสมอ และแม้เปลี่ยนข้อมูลนำเข้าเพียงเล็กน้อย ผลลัพธ์ก็จะแตกต่างไปโดยสิ้นเชิง เครื่องมือนี้เรียกใช้อัลกอริทึมโดยตรงในเบราว์เซอร์ผ่าน JavaScript ดังนั้นข้อความที่พิมพ์จึงไม่ถูกส่งไปยังเซิร์ฟเวอร์

การทำงานของแฮช MD5

MD5 เป็นฟังก์ชันทางเดียว รับข้อมูลนำเข้าที่มีความยาวเท่าใดก็ได้และสร้างผลลัพธ์ขนาดคงที่ที่เรียกว่าแฮชหรือไดเจสต์ คำว่า “ทางเดียว” หมายความว่ากระบวนการนี้ย้อนกลับไม่ได้ ไม่มีวิธีสร้างข้อความต้นฉบับขึ้นใหม่จากแฮชเพียงอย่างเดียว

อัลกอริทึมจะประมวลผลข้อมูลตามขั้นตอนต่อไปนี้:

  1. ข้อความจะถูกแปลงเป็นไบต์และเติมข้อมูลให้ความยาวเป็นพหุคูณของ 512 บิต
  2. ต่อท้ายด้วยฟิลด์ขนาด 64 บิต ซึ่งบันทึกความยาวของข้อความต้นฉบับ
  3. กำหนดตัวเลขขนาด 32 บิตจำนวนสี่ตัวให้มีค่าเริ่มต้นคงที่
  4. ข้อความที่เติมข้อมูลแล้วจะถูกแบ่งเป็นบล็อกขนาด 512 บิต แต่ละบล็อกจะผ่านการดำเนินการสี่รอบ รอบละ 16 การดำเนินการ รวมเป็น 64 การดำเนินการต่อบล็อก แต่ละการดำเนินการจะผสมข้อมูลของบล็อกเข้ากับตัวเลขที่กำลังประมวลผลทั้งสี่ตัว โดยใช้ฟังก์ชันระดับบิต การบวก และการหมุนบิต
  5. หลังประมวลผลครบทุกบล็อกแล้ว ตัวเลขขนาด 32 บิตทั้งสี่ตัวจะถูกนำมาต่อกันและเขียนเป็นเลขฐานสิบหก

ผลลัพธ์มีความยาว 128 บิตเสมอ และแสดงเป็นอักขระเลขฐานสิบหก 32 ตัว (0-9 และ a-f) เนื่องจากไบต์แต่ละไบต์ของผลลัพธ์ขนาด 128 บิตถูกเขียนเป็นเลขฐานสิบหกสองหลัก

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

ตัวอย่างแฮช MD5

การแฮชคำว่า “hello” ด้วย MD5 ให้ผลลัพธ์ดังนี้:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

การแฮชสตริงว่างก็ให้ผลลัพธ์ที่มีค่าคงที่และไม่ว่างเช่นกัน เพราะข้อมูลเติมและฟิลด์ความยาวยังคงถูกส่งผ่านอัลกอริทึม:

1Input:  (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3

การเปลี่ยนอักขระเพียงตัวเดียว เช่น เปลี่ยนตัวอักษรแรกเป็นตัวพิมพ์ใหญ่ให้เป็น “Hello” จะสร้างสตริงที่มีความยาว 32 อักขระและแตกต่างไปโดยสิ้นเชิง ปรากฏการณ์นี้เรียกว่าเอฟเฟกต์หิมะถล่ม กล่าวคือ การเปลี่ยนแปลงข้อมูลนำเข้าเพียงเล็กน้อยทำให้ผลลัพธ์เปลี่ยนแปลงมากและคาดเดาไม่ได้

วิธีใช้เครื่องสร้างแฮช MD5 นี้

  1. พิมพ์หรือวางข้อความลงในช่องป้อนข้อมูล
  2. แฮชจะแสดงใต้กล่องโดยอัตโนมัติและอัปเดตเมื่อข้อความเปลี่ยนแปลง ไม่จำเป็นต้องกดปุ่มแยกต่างหาก
  3. คลิก “Copy” เพื่อคัดลอกแฮชความยาว 32 อักขระไปยังคลิปบอร์ด
  4. แถบสีขนาดเล็กจะแสดงใต้ผลลัพธ์ โดยสร้างจากบางส่วนของแฮช เพื่อใช้ตรวจสอบด้วยสายตาอย่างรวดเร็วว่าแฮชสองค่าต่างกัน

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

การใช้งานทั่วไปของแฮช MD5

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

MD5 ไม่เหมาะสำหรับจัดเก็บรหัสผ่าน สร้างลายเซ็นดิจิทัล หรือกรณีอื่นใดที่ผู้โจมตีอาจพยายามปลอมแปลงหรือย้อนกลับแฮช เหตุผลจะกล่าวถึงในส่วนถัดไป

ประวัติของ MD5

Ronald Rivest นักวิทยาการเข้ารหัสชาวอเมริกัน ออกแบบ MD5 ในปี 1991 เพื่อสืบทอดต่อจากอัลกอริทึม MD4 รุ่นก่อนของเขา Internet Engineering Task Force เผยแพร่ข้อกำหนดดังกล่าวในชื่อ RFC 1321 ใน (3,360 ซม.) 1992 และ MD5 ก็ได้รับการใช้งานอย่างแพร่หลายสำหรับเช็กซัม และในช่วงหนึ่งใช้เพื่อความปลอดภัยด้วย

จุดอ่อนในโครงสร้างภายในของ MD5 ถูกสังเกตพบตั้งแต่ปี 1996 ในปี 2004 คณะนักวิจัยที่นำโดย Xiaoyun Wang นักวิทยาการเข้ารหัส แสดงวิธีเชิงปฏิบัติในการสร้างข้อมูลนำเข้าสองชุดที่แตกต่างกันแต่ให้แฮช MD5 เดียวกัน ซึ่งเป็นข้อบกพร่องที่เรียกว่าการชนกัน ในปี 2008 นักวิจัยอีกกลุ่มหนึ่งใช้การโจมตีด้วยการชนกันเพื่อปลอมใบรับรองความปลอดภัยของเว็บไซต์ที่เป็นเท็จ ซึ่งเบราว์เซอร์ในขณะนั้นจะยอมรับว่าเป็นของจริง ผลลัพธ์เหล่านี้ทำให้หน่วยงานกำหนดมาตรฐานด้านความปลอดภัยเลิกแนะนำ MD5 สำหรับกรณีใด ๆ ที่การปลอมแปลงมีความสำคัญ

จุดอ่อนด้านความปลอดภัยของ MD5

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

เนื่องจากปัญหาเหล่านี้ MD5 จึงไม่เหมาะสำหรับการจัดเก็บรหัสผ่าน ลายเซ็นดิจิทัล ใบรับรอง SSL/TLS หรือแอปพลิเคชันใด ๆ ที่อาจมีผู้จงใจพยายามสร้างแฮชให้ตรงกัน

ทางเลือกแทน MD5

  • SHA-256 ซึ่งเป็นส่วนหนึ่งของตระกูล SHA-2 สร้างแฮชขนาด 256 บิต และยังไม่มีการโจมตีแบบการชนกันที่ใช้ได้จริงซึ่งเป็นที่รู้จัก
  • SHA-3 มาตรฐานรุ่นใหม่ที่ใช้การออกแบบภายในแตกต่างจาก SHA-2
  • BLAKE2 ฟังก์ชันแฮชที่รวดเร็วและมีความปลอดภัยซึ่งถือว่าเทียบเคียงกับ SHA-3
  • Bcrypt, scrypt หรือ Argon2 ซึ่งออกแบบมาโดยเฉพาะสำหรับการจัดเก็บรหัสผ่าน เนื่องจากจงใจทำงานช้าและต้านทานการเดารหัสผ่านที่เร่งด้วยฮาร์ดแวร์

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

ปัจจุบันใช้ MD5 ทำอะไร?

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

สามารถย้อนกลับแฮช MD5 เพื่ออ่านข้อความต้นฉบับได้หรือไม่?

ไม่ได้ MD5 เป็นฟังก์ชันทางเดียว จึงไม่มีการคำนวณที่เปลี่ยนแฮชกลับเป็นข้อมูลนำเข้าได้ อย่างไรก็ตาม ผู้โจมตียังสามารถเดาข้อมูลนำเข้าที่น่าจะเป็นและแฮชแต่ละชุดเพื่อตรวจสอบว่าตรงกันหรือไม่ จึงเป็นเหตุผลที่ MD5 ไม่ปลอดภัยสำหรับรหัสผ่าน

เหตุใด MD5 จึงไม่ปลอดภัยสำหรับจัดเก็บรหัสผ่าน?

เนื่องจากคำนวณได้รวดเร็วมาก ผู้โจมตีที่มีฮาร์ดแวร์สมัยใหม่จึงสามารถทดสอบการเดารหัสผ่านจำนวนมหาศาลต่อวินาที อัลกอริทึมที่ออกแบบมาโดยเฉพาะ เช่น bcrypt, scrypt หรือ Argon2 จงใจทำงานช้าเพื่อรับมือกับวิธีนี้

แฮช MD5 มีความยาวเท่าใด?

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

ข้อมูลนำเข้าต่างกันสองชุดสร้างแฮช MD5 เดียวกันได้หรือไม่?

ได้ กรณีนี้เรียกว่าการชนกัน และนักวิจัยได้แสดงวิธีเชิงปฏิบัติในการสร้างคู่ดังกล่าวมาตั้งแต่ปี 2004 นี่เป็นเหตุผลหลักที่ทำให้ MD5 ไม่ถือว่าปลอดภัยอีกต่อไป

เครื่องมือนี้ส่งข้อความที่พิมพ์ไปยังเซิร์ฟเวอร์หรือไม่?

ไม่ แฮชคำนวณโดย JavaScript ที่ทำงานในเบราว์เซอร์ และข้อมูลนำเข้าจะไม่ออกจากอุปกรณ์

MD5 กับ SHA-256 แตกต่างกันอย่างไร?

ทั้งคู่เป็นฟังก์ชันแฮช แต่ SHA-256 สร้างแฮชที่ยาวกว่า ขนาด 256 บิต และยังไม่มีการโจมตีแบบการชนกันที่ใช้ได้จริงซึ่งเป็นที่รู้จัก ขณะที่ความต้านทานต่อการชนกันของ MD5 ถูกทำลายแล้ว SHA-256 จึงเป็นตัวเลือกที่ดีกว่าเมื่อความปลอดภัยมีความสำคัญ

เอกสารอ้างอิง

  1. Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
  2. Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
  3. Wang, X., Yu, H. (2005). “How to Break MD5 and Other Hash Functions.” Advances in Cryptology - EUROCRYPT 2005.
  4. Sotirov, A., et al. (2008). “MD5 Considered Harmful Today: Creating a Rogue CA Certificate.” นำเสนอในการประชุม Chaos Communication Congress ครั้งที่ 25
  5. National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf