Code 1:
A function that generates a random password. The generated password is a random string of lowercase letters and numbers, and the length can be customized. Relatively speaking, this is relatively simple
The simplest generation method
3. Repeat the above steps 1 and 2 n times , concatenated into an n-digit password
Examples
例4
1、预置一个的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中随机取一个字符
3、重复第二步 n 次,可得长度为 n 的密码
$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;
}
上面经过测试性能都不如下面这个
1、预置一个的字符数组 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、通过array_rand()从数组 $chars 中随机选出 $length 个元素
3、根据已获取的键名数组 $keys,从数组 $chars 取出字符拼接字符串。该方法的缺点是相同的字符不会重复取。
// Randomly select $length array element key names in $chars
$keys = array_rand($chars, $length);
$password = '';
for($i = 0; $i < $length; $i++)
{
// Concatenate $length array elements into a string
$password .= $chars[$keys[$i]];
}
return $password;
}