时间:2021-07-01 10:21:17 帮助过:16人阅读
php生成一个安全随机的密码程序实例代码如下:
<?php
header("Content-type:text/html;charset=utf-8");
function getRandPass($length = 6){
$password = '';
//将你想要的字符添加到下面字符串中,默认是数字0-9和26个英文字母
$chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$char_len = strlen($chars);
for($i=0;$i<$length;$i++){
$loop = mt_rand(0, ($char_len-1));
//将这个字符串当作一个数组,随机取出一个字符,并循环拼接成你需要的位数
$password .= $chars[$loop];
}
return $password;
}
echo getRandPass(12); //随机生成一个12位数的密码
//开源代码phpfensi.com
?>
例2,与第一个有一点像
1、预置一个的字符串 $chars,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中随机取一个字符
3、重复第二步 n 次,可得长度为 n 的密码
实例代码如下:
function generate_password( $length = 8 ) {
// 密码字符集,可任意添加你需要的字符
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
$password = '';
for ( $i = 0; $i < $length; $i++ )
{
// 这里提供两种字符获取方式
// 第一种是使用 substr 截取$chars中的任意一位字符;
// 第二种是取字符数组 $chars 的任意元素
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
}
return $password;
}