การเข้ารหัสด้วย 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 ครับ

ขอย้ำนิดนึงนะครับ ว่าจริงๆมันไม่ใช่การเข้ารหัส
ผู้เขียน goragod โพสต์เมื่อ 02 เม.ย. 2551 เปิดดู 10,650 ป้ายกำกับ PHP
^