色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP生成隨機密碼類分享

類代碼:

<?php/** * php - Password Generator Class * Version 1.0.0 * */ if (@!is_object($passGen) || !isset($passGen)) {  $passGen = new Password;} class Password{   /**   * 大寫字母 A-Z   *   * @var array   */  protected $uppercase_chars;   /**   * 小寫字母 a-z   *   * @var array   */  protected $lowercase_chars;   /**   * 阿拉伯數字 0-9   *   * @var array   */  protected $number_chars;   /**   * 特殊字符   *   * @var array   */  protected $special_chars;   /**   * 其他特殊字符   *   * @var array   */  protected $extra_chars;   /**   * 最終用來生成密碼的所有字符   *   * @var array   */  protected $chars = array();   /**   * 密碼長度   *   * @var array   */  public $length;   /**   * 是否使用大寫字母   *   * @var boolean   */  public $uppercase;   /**   * 是否使用小寫字母   *   * @var boolean   */  public $lowercase;   /**   * 是否使用阿拉伯數字   *   * @var boolean   */  public $number;   /**   * 是否使用特殊字符   *   * @var boolean   */  public $special;   /**   * 是否使用額外的特殊字符   *   * @var boolean   */  public $extra;   /**   * 初始化密碼設置   *   * @param int $length   */  function Password($length = 12)  {    $this->length = $length;         $this->configure(true, true, true, false, false);  }   /**   * 配置   */  function configure($uppercase = false, $lowercase = false, $number = false,            $special = false, $extra = false  ) {    $this->chars = array();     $this->upper_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"                );    $this->lower_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"                );    $this->number_chars = array(                 "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"                );    $this->special_chars = array(                 "!", "@", "#", "$", "%", "^", "&", "*", "(", ")"                );    $this->extra_chars  = array(                 "[", "]", "{", "}", "-", "_", "+", "=", "<",                 ">", "?", "/", "`", "~", "|", ",", ".", ";", ":"                );     if (($this->uppercase = $uppercase) === true) {      $this->chars = array_merge($this->chars, $this->upper_chars);    }    if (($this->lowercase = $lowercase) === true) {      $this->chars = array_merge($this->chars, $this->lower_chars);    }    if (($this->number = $number) === true) {      $this->chars = array_merge($this->chars, $this->number_chars);    }    if (($this->special = $special) === true) {      $this->chars = array_merge($this->chars, $this->special_chars);    }    if (($this->extra = $extra) === true) {      $this->chars = array_merge($this->chars, $this->extra_chars);    }     $this->chars = array_unique($this->chars);  }     /**   * 從字符列中生成隨機密碼   *   * @return string   **/  function generate()  {    if (empty($this->chars)) {      return false;    }     $hash    = '';    $totalChars = count($this->chars) - 1;         for ($i = 0; $i < $this->length; $i++) {      $hash .= $this->chars[$this->random(0, $totalChars)];    }     return $hash;  }   /**   * 生成隨機數字   *   * @return int   */  function random($min = 0, $max = 0)  {    $max_random = 4294967295;     $random = uniqid(microtime() . mt_rand(), true);    $random = sha1(md5($random));     $value = substr($random, 0, 8);    $value = abs(hexdec($value));     if ($max != 0) {      $value = $min + ($max - $min + 1) * $value / ($max_random + 1);    }     return abs(intval($value));  }}

調用:

<?php include_once 'password.class.php'; echo $passGen->generate(); //FS4yq74e2LeE

php技術PHP生成隨機密碼類分享,轉載需保留來源!

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

主站蜘蛛池模板: 自贡市| 达尔| 车险| 怀宁县| 霍林郭勒市| 牟定县| 扎赉特旗| 曲松县| 临泽县| 开江县| 阳山县| 安仁县| 开鲁县| 旬阳县| 政和县| 浙江省| 兰州市| 山西省| 嵊州市| 镇安县| 平泉县| 四川省| 兰州市| 营口市| 阳原县| 彭州市| 观塘区| 右玉县| 太原市| 西宁市| 梓潼县| 余姚市| 抚松县| 沛县| 博乐市| 固原市| 华安县| 成都市| 阿图什市| 会东县| 三原县|