Message Digest Algorithm 5 (MD5) เขียนเมื่อ 2009.06.30 โดย

Message Digest Algorithm 5 (MD5) เป็น algorithm ในการเข้ารหัสแบบทางเดียว (One-way encryption) ด้วยขนาด 128 bits (16 bytes) ผลลัพธ์ที่ได้โดยปกติจะถูกแสดงผลในรูปแบบ เลขฐาน 16 จำนวน 32 หลัก ตามมาตรฐาน (RFC 1321), MD5 ถูกนำไปใช้งานอย่างกว้างขวางในด้านความปลอดภัย และยังรวมถึงการใช้งานในการตรวจสอบความถูกต้องของไฟล์

MD5 ได้รับการออกแบบโดย Ronald Rivest ในปี ค.ศ. 1991 เพื่อแทนที่ MD4 ในปี ค.ศ. 1996
<?
echo md5("test");
?>
จะได้ผลลัพธ์เป็น "098f6bcd4621d373cade4e832627b4f6" ซึ่งเป็นชุดอักขระที่ไม่สามารถแปลความหมายได้.

แล้วยังไม่พอหรือ?

แม้ว่า MD5 จะเป็นการเข้ารหัสแบบทางเดียว (One-way encryption) ซึ่งยากที่จะหาข้อความต้นแบบได้ แต่ก็ยังมีเทคนิคการหาข้อความต้นแบบที่เรียกว่า Brute-force. Brute-force เป็นวิธีการพยายามหาข้อความต้นแบบจากการสุ่มข้อความแล้วเข้ารหัสเพื่อหาผลลัพธ์ที่เหมือนกัน

แล้วจะป้องกันได้อย่างไร?

1. ทำการเข้ารหัส 2 ครั้งเช่น
<?
echo md5(md5("test"));
?>
2. ใช้กุญแจลับเช่น
<?
$key = "modoeye.com";
echo md5("test".$key);
?>
การทำ MD5 ใน PHP สามารถเพิ่มความเร็วเพิ่มขึ้นสำหรับ string ที่ยาวมากๆ สามารถใช้
<?
echo bin2hex(md5("test", true));
?>
Parameter ที่สองของฟังก์ชั่น md5 นั้นเป็นการสั่งให้ฟังก์ชั่น md5 คืนค่ามาเป็น binary การใช้งานแบบนี้จะเพิ่มความเร็วได้ 2-3 เท่าเมื่อเทียบกับการใช้


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