
方法1
1 2 3 4 5 6 7
|
function make_password( $length = '8'){ $range = array_merge( range('a', 'z') , range('A', 'Z') , range('0','9')); shuffle($range); $range = array_slice($range,0, $length); $password = implode('' , $range); return $password; }
|
评价:看起来比较舒服,可以根据需求 自定义字符集,缺点是效率低。
方法2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
function generate_password( $length = 8 ) { // 密码字符集,可任意添加你需要的字符 $chars = '[email protected]#$%^&*()-_ []{}<>~`+=,.;:/?|'; $password = ''; $chars_max_index = strlen($chars)-1; for ( $i = 0; $i < $length; $i++ ) { // 这里提供两种字符获取方式 // 第一种是使用 substr 截取$chars中的任意一位字符; // 第二种是取字符数组 $chars 的任意元素 // $password .= substr($chars, mt_rand(0, $chars_max_index ), 1); $password .= $chars[ mt_rand(0, $chars_max_index ) ]; } return $password; }
|
评价:高效,因为仅使用了一个mt_rand()函数;可以根据需求 自定义字符集,不过看起来有点乱。
方法3
1 2 3 4 5 6 7 8 9
|
function create_password($pw_length = 8) { $randpwd = ''; for ($i = 0; $i < $pw_length; $i++) { $randpwd .= chr(mt_rand(33, 126)); } return $randpwd; }
|
评价:非常高效,利用ASCII码和mt_rand(),chr()完成随机字符串;可以根据需求 自定义字符集。
方法4
1 2 3 4 5
|
function get_password( $length = 8 ) { $str = substr(md5(time()), 0, 6); return $str; }
|
评价:尼玛。
近期评论