zoukankan      html  css  js  c++  java
  • 生成随机码的多种方式

    function 1:
    说明:
    mt_rand ( int $min , int $max )函数用于生成随机整数 , chr ( int $ascii )函数用于将对应整数 $ascii 转换成对应的字符
    function create_password($pw_length = 8){
    $randpwd = '';
    for ($i = 0; $i < $pw_length; $i++) {
    $randpwd .= chr(mt_rand(33, 126));
    }
    return $randpwd;
    }
    // 调用该函数,传递长度参数$pw_length = 6
    echo create_password(6);
     
    function 2 :
    function generate_password( $length = 8 ) {
    // 密码字符集,可任意添加你需要的字符
    $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
    $password = '';
    for ( $i = 0; $i < $length; $i++ ) {
    // 这里提供两种字符获取方式
    // 第一种是使用 substr 截取$chars中的任意一位字符;
    // 第二种是取字符数组 $chars 的任意元素
    // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
    $password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
    }
     
    return $password;
    }
     
    function 3:
    function make_password( $length = 8 ) {
    // 密码字符集,可任意添加你需要的字符
    $chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
    'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's',
    't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D',
    'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O',
    'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z',
    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!',
    '@','#', '$', '%', '^', '&', '*', '(', ')', '-', '_',
    '[', ']', '{', '}', '<', '>', '~', '`', '+', '=', ',',
    '.', ';', ':', '/', '?', '|');
    // 在 $chars 中随机取 $length 个数组元素键名
    $keys = array_rand($chars, $length);
    $password = '';
    for($i = 0; $i < $length; $i++) {
    // 将 $length 个数组元素连接成字符串
    $password .= $chars[$keys[$i]];
    }
    return $password;
    }
     
    function 4:
    function get_password( $length = 8 ) {
    $str = substr(md5(microtime()), 0, $length);
    return $str;
    }
     

  • 相关阅读:
    C++-struct类的新特性当class用
    rbenv、fish 與 VSCode 設置之路
    angularJS进阶阶段(4)
    插入排序
    Vimium
    Design Patterns 25
    Mysql(或者sqlite), Mongo中update Column + 1
    Hexo
    继承
    Gradle的依赖方式——Lombok在Gradle中的正确配置姿势
  • 原文地址:https://www.cnblogs.com/sien6/p/13779757.html
Copyright © 2011-2022 走看看