我正在尝试使用openssl_random_pseudo_bytes
并想知道它是否具有密码强度来构建一个简单的密码生成函数。
function randomPassword($length = 12) {
mt_srand( hexdec( bin2hex( openssl_random_pseudo_bytes(256) ) ) );
$alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$&*-_=+.?';
$pass = '';
$alphaLength = strlen($alphabet) - 1;
for ($i = 0; $i < $length; $i++) {
$n = mt_rand(0, $alphaLength);
$pass .= $alphabet[$n];
}
return $pass;
}
我会假设,如果函数中存在一个弱点,mt_rand
无论使用openssl_random_pseudo_bytes
. 但是,我一直找不到有关该主题的任何讨论。