如何使用PHP生成随机密码?
或者是否有软件可以自动生成随机密码?
只需构建一串随机的 、、(或任何您想要的)到所需长度的字符串即可。下面是 PHP 中的一个示例:a-z
A-Z
0-9
function generatePassword($length = 8) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$count = mb_strlen($chars);
for ($i = 0, $result = ''; $i < $length; $i++) {
$index = rand(0, $count - 1);
$result .= mb_substr($chars, $index, 1);
}
return $result;
}
若要进行优化,如果在单个执行期间多次调用此函数,则可以在方法(或父类)中将其定义为静态变量或常量。$chars
这是一个简单的解决方案。它将包含小写字母和数字。
substr(str_shuffle(strtolower(sha1(rand() . time() . "my salt string"))),0, $PASSWORD_LENGTH);
下面是一个更强大的解决方案,它为所需范围内的随机长度随机生成所需字符范围内的字符代码。
function generateRandomPassword() {
//Initialize the random password
$password = '';
//Initialize a random desired length
$desired_length = rand(8, 12);
for($length = 0; $length < $desired_length; $length++) {
//Append a random ASCII character (including symbols)
$password .= chr(rand(32, 126));
}
return $password;
}