<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • php怎么生成隨機(jī)密碼

    程序猿 2021-02-25 20:06:12 1980瀏覽 加載中

    如果只是生成密碼可以使用PHP提供的密碼函數(shù)

    password_hash();

    驗(yàn)證密碼可以使用

    password_verify();

    php怎么生成隨機(jī)密碼

      使用PHP開發(fā)應(yīng)用程序,尤其是網(wǎng)站程序,常常需要生成隨機(jī)密碼,如用戶注冊(cè)生成隨機(jī)密碼,用戶重置密碼也需要生成一個(gè)隨機(jī)的密碼。隨機(jī)密碼也就是一串固定長(zhǎng)度的字符串,下面小編收集整理了幾種生成隨機(jī)字符串的'方法,以供大家參考。

      方法一:

      1、在 33 – 126 中生成一個(gè)隨機(jī)整數(shù),如 35,

      2、將 35 轉(zhuǎn)換成對(duì)應(yīng)的ASCII碼字符,如 35 對(duì)應(yīng) #

      3、重復(fù)以上 1、2 步驟 n 次,連接成 n 位的密碼

      該算法主要用到了兩個(gè)函數(shù),mt_rand ( int $min , int $max )函數(shù)用于生成隨機(jī)整數(shù),其中 $min – $max 為 ASCII 碼的范圍,這里取 33 -126 ,可以根據(jù)需要調(diào)整范圍,如ASCII碼表中 97 – 122 位對(duì)應(yīng) a – z 的英文字母,具體可參考 ASCII碼表; chr ( int $ascii )函數(shù)用于將對(duì)應(yīng)整數(shù) $ascii 轉(zhuǎn)換成對(duì)應(yīng)的字符。

      function create_password($pw_length = 8)
      {
      $randpwd = '';
      for ($i = 0; $i < $pw_length; $i++)
      {
      $randpwd .= chr(mt_rand(33, 126));
      }
      return $randpwd;
      }

      // 調(diào)用該函數(shù),傳遞長(zhǎng)度參數(shù)$pw_length = 6

      echo create_password(6);

      方法二:

      1、預(yù)置一個(gè)的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符

      2、在 $chars 字符串中隨機(jī)取一個(gè)字符

      3、重復(fù)第二步 n 次,可得長(zhǎng)度為 n 的密碼

      function generate_password( $length = 8 ) {
      // 密碼字符集,可任意添加你需要的字符
      $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
      $password = '';
      for ( $i = 0; $i < $length; $i++ )
      {
      // 這里提供兩種字符獲取方式
      // 第一種是使用 substr 截取$chars中的任意一位字符;
      // 第二種是取字符數(shù)組 $chars 的任意元素
      // $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
      $password .= $chars[ mt_rand(0, strlen($chars) - 1) ];
      }
      return $password;
      }


    標(biāo)簽: php 隨機(jī)密碼
    最后修改:2025-03-23 19:24:45

    非特殊說(shuō)明,本博所有文章均為博主原創(chuàng)。

    主站蜘蛛池模板: 安达市| 玛纳斯县| 威宁| 澜沧| 左权县| 蕲春县| 中卫市| 梁山县| 白玉县| 蓬莱市| 霞浦县| 任丘市| 湟源县| 邵阳市| 临漳县| 丽水市| 军事| 肇州县| 阜宁县| 永新县| 洞头县| 大埔县| 洪江市| 丽水市| 梨树县| 呼伦贝尔市| 仪征市| 青海省| 吉安市| 自贡市| 二手房| 郎溪县| 连州市| 平顺县| 霍邱县| 宝兴县| 沅江市| 台南县| 体育| 苍溪县| 神农架林区|