用PHP创建更友好的随机密码(ylcz改进版)

用PHP创建更友好的随机密码(ylcz改进版)

作者原文:How To Create Friendlier Random Passwords
译文
如何创建更友好的随机密码
不看不知道,一看学不少。
文章中谈到Web应用的可访问性(accessibility)和密码的安全性问题。
引用一下原文:“对于很多人来说,识别零和大写的O、1和小写的L,甚至字母b和d,是一件头疼的事情。”
在密码方面的字母辨认方面暂时没遇到问题,经常遇到的问题是很多网站上面的验证码问题,很多验证码为了防止垃圾信息或者不友好的访问,验证技术都很厉害,连人的肉眼都无法辨认,更糟糕的是某些验证码不提供重新获取另一个Innocent在原作者的基础上我增加了字母的大小写控制(请看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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值