日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP密码生成管理源码,php密码生成类(附源码)

發布時間:2025/3/19 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP密码生成管理源码,php密码生成类(附源码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本節內容:

好用的php 密碼生成類。

訪代碼實現的功能:

1,可設定密碼長度。

2,可設定要生成的密碼個數,批量生成。

3,可以指定密碼的規則,字母,數字,特殊字符等。

1,密碼生成類文件 GeneratePassword.class.php 代碼示例:

/** Generate Password class,根據指定規則生成password

*?? Date:?? 2013-12-23

*?? Author: fdipzone

*?? Ver:??? 1.0

*?? edit:www.#

*?? Func:

*?? public? batchGenerate 批量生成密碼

*?? private generate????? 生成單個密碼

*?? private getLetter???? 獲取字母

*?? private getNumber???? 獲取數字

*?? private getSpecial??? 獲取特殊字符

*/

class GeneratePassword{ // class s

tart

// 密碼的規則 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_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

?>

2,演示代碼 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('
', $passwords);

?>

附,php密碼生成類的源碼下載地址

總結

以上是生活随笔為你收集整理的PHP密码生成管理源码,php密码生成类(附源码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品大全 | 亚洲97色 | 海角国产乱辈乱精品视频 | 91精品美女 | 国产a一区 | 日韩欧美网 | 草草影院网址 | 成人在线播放视频 | 国产女女做受ⅹxx高潮 | 荡女精品导航 | 日韩电影二区 | 91视频 - 88av | 亚洲精品456 | 久久免费观看视频 | 日韩理论片在线观看 | 国产精品永久久久久久久久久 | 亚洲综合社区 | 88国产精品 | av网址在线免费观看 | 尤物视频在线免费观看 | 国产亚洲欧美精品久久久www | 爱草在线视频 | 国产成人精品无码免费看在线 | 国产精品成人久久久 | 久久国产精品网站 | 老司机免费视频 | 精品人妻一区二区三区免费 | 乱熟女高潮一区二区在线 | 日韩高清在线观看 | 一区二区三区高清不卡 | 伊人草| 国产亚洲欧美日韩高清 | 男人添女人荫蒂国产 | www.久久艹 | 黄色三级小说 | 国产一区二区在线免费观看 | 一区二区美女 | 永久免费看片在线播放 | 中国三级视频 | 黑人黄色大片 | 在线中文字幕播放 | 亚洲资源站 | 草莓视频在线观看18 | 中国美女一级看片 | 国产情侣露脸自拍 | 蜜桃av免费在线观看 | 黄色一级播放 | 欧美成人吸奶水做爰 | 孕期1ⅴ1高h | 色欲av永久无码精品无码蜜桃 | 玖草在线视频 | 成人在线亚洲 | 青草青草久热 | www.久久精品.com | 黑人性高潮 | 国产精品久久国产精品 | 国产乱淫av一区二区三区 | 涩涩视频在线 | 贝利弗山的秘密1985版免费观看 | 欧美一级视频在线观看 | 日韩中文免费 | 亚洲乱码一区 | 日本精品视频在线播放 | 国产精品一区二区麻豆 | 黄色国产在线播放 | a级黄毛片 | 欧美9999 | 韩国精品在线 | 免费观看一区二区三区毛片 | 杂技xxx裸体xxxx欧美 | 在线观看亚洲成人 | 日韩av在线看免费观看 | 久久亚洲精品中文字幕 | 三级视频小说 | 久久美女视频 | 欧美亚洲91 | 蜜臀va| 黄色视屏在线播放 | 99精品中文字幕 | 借种(出轨高h) | 91热热| 校园春色中文字幕 | 午夜性生活片 | 日韩视频国产 | 在哪里可以看黄色片 | av色网站 | www.青青草 | 成人黄色av网站 | 免费成人av网址 | 久草资源在线播放 | 日韩精品一区在线视频 | 看看黄色片 | 国产精品自偷自拍 | 黄色aa网站| 精品一区二区三区久久久 | 亚洲天堂成人在线观看 | 97国产精东麻豆人妻电影 | 韩国bj大尺度vip福利网站 | 一区二区精品久久 |