การเข้ารหัสด้วย MD5
<?
function MD5 ($string)
{
srand((double)microtime()*10000000);
$chars = "0123456789abcdefghijklmnopqrstuvwxyz";
$ret_str = "";
$num = strlen($chars);
for($i = 0; $i<32; $i++) {
$ret_str.= $chars[rand()%$num];
$ret_str.="";
}
return $ret_str;
}
?>
จริงๆแล้วโค้ดเป็นการ เลียนแบบการเข้ารหัสด้วย MD5 เฉยๆนะครับ ไม่ได้เข้ารหัส MD5 จริงๆ ถ้าดูดีๆ จะเห็นว่า $string ไม่มีความเกี่ยวข้องอะไรกับการเข้ารหัสเลย โค้ดเป็นการสุ่ม ตัวอักษร 32 หลักออกมาทำให้ผลลัพท์ของมันไม่คงที่ครับ แต่ก็เป็นการดีที่ไม่มีโอกาสจะถอดรหัสได้ถูกต้องเลยแม้แต่ครั้งเดียว (เพราะมันไม่ใช่การเข้ารหัส เป็นเพียงแต่ทำให้ดูเหมือนการเข้ารหัสด้วย MD5)
ประโยชน์ของการเข้ารหัสแบบนี้ก็เหมือนกับ MD5 แหละครับ คือเข้าได้แต่ไม่ต้องการถอด เอาไว้หลอกพวกที่อยากถอดแก้กลุ้มเฉยๆ ถ้าใครต้องการ การเข้ารหัส-ถอดรหัสจริงๆให้ไปดูที่ encode-decode Text ครับ
ขอย้ำนิดนึงนะครับ ว่าจริงๆมันไม่ใช่การเข้ารหัส