เวลาเราจะสร้างรหัสผ่านอัตโนมัติให้กับผู้ใช้โดยส่วนใหญ่ก็จะให้โปรแกรมสุ่มอัขระตามจำนวนที่ต้องการอย่างเช่น
function random_password($len) {
srand( date("s") );
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$chars.= "1234567890!@#$%^&*()";
$ret_str = "";
$num = strlen($chars);
for($i=0; $i < $len; $i++) {
$ret_str.= $chars[rand()%$num];
}
return $ret_str;
}
$password = random_password(13);
echo "Your random password is: $password";
?>
ก็จะได้รหัสแบบที่จัดได้ว่ามีความปลอดภัยสูงเลยทีเดียวเพราะเดายากมากๆ
แต่ก็.. เป็นดาบสองคมเพราะทำให้จำยากอีกด้วย
แต่ถ้าเราสามารถสร้างรหัสแบบสุ่มที่พออ่านได้(แต่ไม่มีความหมาย)
ก็คงพอจะช่วยให้จำได้ง่ายขึ้นบ้าง เช่น
$length = 8;
$conso=array("b","c","d","f","g","h","j","k","l",
"m","n","p","r","s","t","v","w","x","y","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
$max = $length/2;
for($i=1; $i<=$max; $i++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
$newpass = $password;
echo $newpass;
?>
หลักการหลักๆ คือแยกสระกับพยัญชนะแล้วค่อยเอามาร่วมกัน
จึงทำให้พออ่านเป็นพยางค์ได้ช่วยให้จำได้ง่าย
Category: Diary