使用[b]PHP[/b]开发应用程序,尤其是网站程序,常常需要[b]生成随机密码[/b],如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考。
[b]方法一[/b]:
1、在 33 – 126 中生成一个随机整数,如 35,
2、将 35 转换成对应的ASCII码字符,如 35 对应 #
3、重复以上 1、2 步骤 n 次,连接成 n 位的密码
该算法主要用到了两个函数,[url=http://www.1sucai.cn/w3school/func_math_mt_rand.htm]mt_rand ( int $min , int $max )[/url]函数用于生成随机整数,其中 $min – $max 为 ASCII 码的范围,这里取 33 -126 ,可以根据需要调整范围,如ASCII码表中 97 – 122 位对应 a – z 的英文字母,具体可参考 [url=http://www.asciitable.com/]ASCII码表[/url]; [url=http://www.1sucai.cn/w3school/func_string_chr.htm]chr ( int $ascii )[/url]函数用于将对应整数 $ascii 转换成对应的字符。
[url=http://www.1sucai.cn/w3school/func_array_rand.htm]array_rand()[/url]从数组 $chars 中随机选出 $length 个元素
3、根据已获取的键名数组 $keys,从数组 $chars 取出字符拼接字符串。该方法的缺点是相同的字符不会重复取。
[url=http://www.ludou.org/how-to-create-a-password-generator-using-php.html]http://www.ludou.org/how-to-create-a-password-generator-using-php.html[/url]