欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP生成随机字符串的几种方法

程序员文章站 2022-04-22 17:05:46
...

#方法1 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;} 评价:

#方法1

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

function generate_password( $length = 8 ) {
    // 密码字符集,可任意添加你需要的字符
    $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}~`+=,.;:/?|';
    $password = '';
    $chars_max_index = strlen($chars)-1;
    for ( $i = 0; $i 

评价:高效,因为仅使用了一个mt_rand()函数;可以根据需求 自定义字符集,不过看起来有点乱。

#方法3

function create_password($pw_length = 8)
{
    $randpwd = '';
    for ($i = 0; $i 

评价:非常高效,利用ASCII码和mt_rand()chr()完成随机字符串;可以根据需求 自定义字符集。

#方法4

function get_password( $length = 8 )
{
    $str = substr(md5(time()), 0, 6);
    return $str;
}

评价:尼玛。