作者原文:How To Create Friendlier Random Passwords
译文:如何创建更友好的随机密码
不看不知道,一看学不少。
文章中谈到Web应用的可访问性(accessibility)和密码的安全性问题。
引用一下原文:“对于很多人来说,识别零和大写的O、1和小写的L,甚至字母b和d,是一件头疼的事情。”
在密码方面的字母辨认方面暂时没遇到问题,经常遇到的问题是很多网站上面的验证码问题,很多验证码为了防止垃圾信息或者不友好的访问,验证技术都很厉害,连人的肉眼都无法辨认,更糟糕的是某些验证码不提供重新获取另一个在原作者的基础上我增加了字母的大小写控制(请看strtoupper($char)函数)和源数组中字符的随机性(请看shuffle($characters)函数),如此一来,密码的安全性增加了。PHP代码如下:
function GenerateRandomString($length) {
$characters = array('2', '3', '4', '5', '6', '7', '8', '9',
'a', 'c', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'm', 'p',
'q', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
$randomString = "";
while(strlen($randomString) < $length) {
shuffle($characters);
$randomCharacterIndex = rand(0, count($characters) - 1);
$char = $characters[$randomCharacterIndex];
if ((rand(0,1)%2)==0) {
$char = strtoupper($char);
}
$randomString .= $char;
}
return $randomString;
}
用PHP创建更友好的随机密码(ylcz改进版)
最新推荐文章于 2024-09-02 19:20:15 发布