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 许可协议。转载请注明出处!