php生成随机复杂度密码方法
调用下面代码,设置其中的参数即可随机获取复杂度的字符串密码了
/**
* 复杂度密码随机生成方法
* @param integer $lowerLength [小写字母的个数]
* @param integer $upperLength [大写字母的个数]
* @param integer $numLength [数字的个数]
* @param integer $specialLength [特殊字符的个数]
* @return [type] [description]
*/
function generate_password( $lowerLength = 3, $upperLength=2, $numLength = 4, $specialLength=1)
{
// 密码字符集,可任意添加你需要的字符
$chars = array();
$chars[1] = 'abcdefghijklmnopqrstuvwxyz';
$chars[2] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$chars[3] = '0123456789';
$chars[4] = '!#$%^&*()-_ []{}<>~`+=,.;:/?|';
$password = '';
$length = array();
$length[1] = $lowerLength;
$length[2] = $upperLength;
$length[3] = $numLength;
$length[4] = $specialLength;
foreach ($chars as $key => $char)
{
for ( $i = 0; $i < $length[$key]; $i++ )
{
// 这里提供两种字符获取方式
// 第一种是使用 substr 截取$chars中的任意一位字符;
// 第二种是取字符数组 $chars 的任意元素
// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
$password .= $char[ mt_rand(0, strlen($char) - 1) ];
}
}
return str_shuffle($password);
}本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/539
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!