日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > php中生成隨機(jī)密碼幾種方法

php中生成隨機(jī)密碼幾種方法

來源:程序員人生   發(fā)布時間:2013-10-13 15:56:39 閱讀次數(shù):5250次

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

  1. function create_password($pw_length = 8) 
  2.     $randpwd = ''
  3.     for ($i = 0; $i < $pw_length$i++)  
  4.     { 
  5.         $randpwd .= chr(mt_rand(33, 126)); 
  6.     } 
  7.     return $randpwd
  8. // 調(diào)用該函數(shù),傳遞長度參數(shù)$pw_length = 6 
  9. echo create_password(6); 

方法二:

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

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

3、重復(fù)第二步n次,可得長度為n的密碼,代碼如下:

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

方法三:

1、預(yù)置一個的字符數(shù)組$chars,包括a–z、a–z、0–9以及一些特殊字符;

2、通過array_rand()從數(shù)組$chars中隨機(jī)選出$length個元素;

3、根據(jù)已獲取的鍵名數(shù)組$keys,從數(shù)組$chars取出字符拼接字符串。

該方法的缺點(diǎn)是相同的字符不會重復(fù)取,代碼如下:

  1. function make_password( $length = 8 ) 
  2.     // 密碼字符集,可任意添加你需要的字符 
  3.     $chars = array('a''b''c''d''e''f''g''h',  
  4.     'i''j''k''l','m''n''o''p''q''r''s',  
  5.     't''u''v''w''x''y','z''a''b''c''d',  
  6.     'e''f''g''h''i''j''k''l','m''n''o',  
  7.     'p''q''r''s''t''u''v''w''x''y','z',  
  8.     '0''1''2''3''4''5''6''7''8''9''!',  
  9.     '@','#''$''%''^''&''*''('')''-''_',  
  10.     '['']''{''}''<''>''~''`''+''='',',  
  11.     '.'';'':''/''?''|'); 
  12.     // 在 $chars 中隨機(jī)取 $length 個數(shù)組元素鍵名 
  13.     $keys = ($chars$length);  
  14.     $password = ''
  15.     for($i = 0; $i < $length$i++) 
  16.     { 
  17.         // 將 $length 個數(shù)組元素連接成字符串 
  18.         $password .= $chars[$keys[$i]]; 
  19.     } 
  20.     return $password

時間效率對比:我們使用以下php代碼,計(jì)算上面的3個隨機(jī)密碼生成函數(shù)生成6位密碼的運(yùn)行時間,進(jìn)而對他們的時間效率進(jìn)行一個簡單的對比,代碼如下:

  1. function getmicrotime() 
  2.     list($usec$sec) = explode(" ",microtime()); 
  3.     return ((float)$usec + (float)$sec); 
  4. // 記錄開始時間 
  5. $time_start = getmicrotime(); 
  6. // 這里放要執(zhí)行的php代碼,如: 
  7. // echo create_password(6); 
  8. // 記錄結(jié)束時間 
  9. $time_end = getmicrotime(); 
  10. $time = $time_end - $time_start
  11. // 輸出運(yùn)行總時間  
  12. echo "執(zhí)行時間 $time seconds";  
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 色婷婷av一区 | 韩日一区二区 | 欧美日韩免费在线观看 | 国产精品视频观看 | 美女二区| 久久国内精品视频 | 成人av免费在线看 | 中文久久乱码一区二区 | 国产成人在线免费观看 | 欧美日韩一区二区三区视频 | 欧美日韩激情在线一区二区三区 | www.三级.com| 久久久国产精品一区二区三区 | 天堂在线免费视频 | 一本黄色片 | 久久久久久毛片免费看 | 日韩不卡一区二区 | 久久精品国产一区二区 | 999在线视频| 午夜免费 | 中文字幕国产精品 | 五月综合激情网 | 国产亚洲精品久 | 成人免费在线电影 | 成人黄色免费观看 | 在线观看国产视频 | 精品99在线 | 天堂在线免费视频 | 日韩精品色网 | 国产一区中文字幕 | 国产视频不卡 | 久久精品国产亚洲一区二区三区 | 国产成人精品一区二区三区 | 亚洲黄色在线视频 | 国产精品久久久久久久电影 | 日韩精品无码一区二区三区 | 久久福利在线 | 亚洲精品一二区 | 日本黄在线观看 | 亚洲精品一区二区三区在线 | 91精品国产综合久久精品图片 |