วิธีการเพิ่มความแน่นหนา ให้กับการเข้ารหัส อย่างง่ายๆเลย ไม่ว่าจะเป็น md5 sha1 หรือ base64
วิธีใช้งาน เราก็แค่ เพิ่ม Secret Word ต่อท้าย ข้อมูลที่จะเข้ารหัส ครับ
เช่น
<?php
$secret="TWD";
$password=$_POST['password'];
$pass=md5($password.$secret);
//$pass=sha1($password.$secret);
//$pass=base64($password.$secret);
//mysql_....
?>
เพราะ ฉนั้น เปรียบเสมือนว่า เราได้ป้องกัน เพิ่มอีก1ชั้น คืออย่างน้อยๆ hash password "123456" ของที่นี่ก็จะไม่เหมือนกับ password "123456" ที่อื่นๆ แน่นอนครับ
อาจจะกันไว้กรณีที่มีคน dump database ไปได้ หาก เขาไม่รู้ secret code ก็จะทำการ ถอดรหัสได้ยากขึ้น(ไม่ว่าจะเป็น การเข้ารหัสทางเดียว หรือไม่)ซึ่งบางทีเขาอาจจะใช้ dictionary เข้ามาวนลูปเช็ก hash เอาได้งับ
สำหรับ base64 จะแตกต่างกับ md5 และ sha1 อยู่นิดนึงครับ คือ ขั้นตอนในการ ถอดรหัส(decode) เราจะต้องตัดค่า secret code ออกไปด้วย อาจจะใช้ str_replace(); เอาก็ได้ครับตามแต่ถนัด
ความรู้เล็กๆนะครับ หากผิดพลาดส่วนไหนก็ขอให้บอกกล่าวกันด้วยเน้อ ผมอาจจะไม่รู้ไปซะทุกเรื่อง
ปล.ไว้คราวหลังจะมาอธิบาย ความแตกต่างระหว่าง base64,md5 และ sha1 ให้นะครับ (ไว้ว่างๆจริงๆ)