2.可設定要生成的密碼個數,批量生成。
3.可以指定密碼的規則,字母,數字,特殊字符等。二、用 " /> 99久久久精品,影888午夜理论不卡,牛牛在线(正)精品视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php密碼生成類實例

本文實例講述了php實現的密碼生成類及其應用方法,分享給大家供大家參考。具體分析如下:

一、php密碼生成類功能:

1.可設定密碼長度。
2.可設定要生成的密碼個數,批量生成。
3.可以指定密碼的規則,字母,數字,特殊字符等。

二、用法:

GeneratePassword.class.php類文件如下:

<?php /** Generate Password class,根據指定規則生成password *  Date:  2013-12-23 *  Author: fdipzone *  Ver:  1.0 * *  Func: *  public batchGenerate 批量生成密碼 *  private generate   生成單個密碼 *  private getLetter   獲取字母  *  private getNumber   獲取數字 *  private getSpecial  獲取特殊字符 */  class GeneratePassword{ // class start    // 密碼的規則 default   private $_rule = array(    'letter' => 1,    'number' => 1,    'special' => 1   );   private $_length = 8;         // 密碼長度   private $_num = 1;          // 密碼數量   private $_special = '!@#$%^&*()_+=-'; //允許的特殊字符    /** 初始化   * @param int  $length 密碼長度   * @param int  $num   密碼數量   * @param Array $rule  密碼規則   * @param String $special 允許的特殊字符   */   public function __construct($length=8, $num=1, $rule=array(), $special=''){      if(isset($length) && is_numeric($length) && $length>=4 && $length<=50){ // 長度       $this->_length = $length;     }      if(isset($num) && is_numeric($num) && $num>0 && $num<=100){ // 數量       $this->_num = $num;     }      if(isset($special) && is_string($special) && $special!=''){ // 特殊字符       $this->_special = $special;     }      if($rule){ // 規則        $t_rule = array();        if(isset($rule['letter']) && in_array($rule['letter'], array(1,2,3,4,5))){ // 1:可選用 2:必須 3:必須小寫 4:必須大寫 5:大小寫都必須         $t_rule['letter'] = $rule['letter'];       }        if(isset($rule['number']) && in_array($rule['number'], array(1,2))){ // 1:可選用 2:必須         $t_rule['number'] = $rule['number'];       }        if(isset($rule['special']) && in_array($rule['special'], array(1,2))){ // 1:可選用 2:必須         $t_rule['special'] = $rule['special'];       }        if($t_rule){         $this->_rule = $t_rule;       }     }   }    /** 批量生成密碼   * @return Array   */   public function batchGenerate(){     $passwords = array();     for($i=0; $i<$this->_num; $i++){       array_push($passwords, $this->generate());     }     return $passwords;   }    /** 生成單個密碼   * @return String   */   private function generate(){      $password = '';     $pool = '';     $force_pool = '';      if(isset($this->_rule['letter'])){        $letter = $this->getLetter();        switch($this->_rule['letter']){         case 2:           $force_pool .= substr($letter, mt_rand(0,strlen($letter)-1), 1);           break;          case 3:           $force_pool .= strtolower(substr($letter, mt_rand(0,strlen($letter)-1), 1));           $letter = strtolower($letter);           break;          case 4:           $force_pool .= strtoupper(substr($letter, mt_rand(0,strlen($letter)-1), 1));           $letter = strtoupper($letter);           break;          case 5:           $force_pool .= strtolower(substr($letter, mt_rand(0,strlen($letter)-1), 1));           $force_pool .= strtoupper(substr($letter, mt_rand(0,strlen($letter)-1), 1));           break;       }        $pool .= $letter;     }     if(isset($this->_rule['number'])){        $number = $this->getNumber();        switch($this->_rule['number']){         case 2:           $force_pool .= substr($number, mt_rand(0,strlen($number)-1), 1);           break;       }        $pool .= $number;     }      if(isset($this->_rule['special'])){        $special = $this->getSpecial();        switch($this->_rule['special']){         case 2:           $force_pool .= substr($special, mt_rand(0,strlen($special)-1), 1);           break;       }       $pool .= $special;     }      $pool = str_shuffle($pool); // 隨機打亂      $password = str_shuffle($force_pool. substr($pool, 0, $this->_length-strlen($force_pool))); // 再次隨機打亂      return $password;   }    /** 字母 */   private function getLetter(){     $letter = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz';     return $letter;   }    /** 數字 */   private function getNumber(){     $number = '1234567890';     return $number;   }    /** 特殊字符 */   private function getSpecial(){     $special = $this->_special;     return $special;   } } // class end  ?> 

demo示例程序如下:

<?php require 'GeneratePassword.class.php';  $rule = array(   'letter' => 5, // 必須含有大小寫字母   'number' => 2, // 必須含有數字   'special' => 2 // 必須含有特殊字符 );  $special = '!@#$%_-';  $obj = new GeneratePassword(8, 10, $rule, $special); $passwords = $obj->batchGenerate();  echo implode('<br>', $passwords); ?> 

本文完整源碼可點擊此處本站下載。

相信本文所述對大家的C#程序設計有一定的借鑒價值。

php技術php密碼生成類實例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 色婷婷国产精品视频一区二区 | 免费国产网站 | 男男校园园bl文全肉高h寝室 | 久久re这里精品在线视频7 | 欧美双拳极限扩张 | 99热这里只有精品8 99热这里只有精品6 | 三级成年网站在线观看 | 又长又大又粗又硬3p免费视频 | 国产乱子影视频上线免费观看 | 国产国拍精品AV在线观看 | 国产精品免费视频播放 | 日本无卡无吗在线 | 92看看福利午夜影院 | 国产精品亚洲国产三区 | 在线精彩视频在线观看免费 | 麻豆精品传媒卡一卡二传媒短视频 | 国产精品观看视频免费完整版 | 欲乱艳荡少寡妇全文免费 | 国产精品高清在线观看93 | 欧美人妇无码精品久久 | 国产成人精品免费视频大全办公室 | 国产午夜人做人免费视频中文 | 精品无码国产自产在线观看水浒传 | 色多多污污版免费下载安装 | 最新高清无码专区在线视频 | 9277在线观看免费高清完整版 | 99久久精品6在线播放 | 人妻精品久久无码专区 | 97午夜精品 | 亚洲偷自拍精品视频在线观看 | 亚洲日产2020乱码草莓毕 | 蜜柚视频在线观看全集免费观看 | 动漫美女搞鸡 | 麻豆精品一卡2卡三卡4卡免费观看 | 日韩精品在线观看免费 | 国产嫩草在线观看 | 越南女 黑人 痛苦 大叫 | 大桥未久与黑人中出视频 | 激情床戏视频片段有叫声 | 亚洲欧美综合乱码精品成人网 | 欧美黄色第一页 |