多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

php中生成隨機密碼幾種方法

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

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

  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. // 調用該函數(shù),傳遞長度參數(shù)$pw_length = 6 
  9. echo create_password(6); 

方法二:

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

2、在$chars字符串中隨機取一個字符;

3、重復第二步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、預置一個的字符數(shù)組$chars,包括a–z、a–z、0–9以及一些特殊字符;

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

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

該方法的缺點是相同的字符不會重復取,代碼如下:

  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 中隨機取 $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代碼,計算上面的3個隨機密碼生成函數(shù)生成6位密碼的運行時間,進而對他們的時間效率進行一個簡單的對比,代碼如下:

  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. // 記錄結束時間 
  9. $time_end = getmicrotime(); 
  10. $time = $time_end - $time_start
  11. // 輸出運行總時間  
  12. echo "執(zhí)行時間 $time seconds";  
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲精品蜜桃久久久久久 | 亚洲看看| 性欧美video另类hd尤物 | 天堂福利视频在线观看 | 午夜小视频网站 | 亚洲欧美一区二区三区九九九 | 爱爱小视频在线观看网站 | 一区二区视频在线观看 | 欧美孕妇与黑人巨交 | 精品福利一区二区免费视频 | 欧美亚洲另类一区中文字幕 | 国产精品v欧美精品∨日韩 国产精品v欧美精品v日本精 | 日本乱论 | 亚洲美女视频 | a大片大片网y | 中文字幕一区二区三区久久网站 | 国产69久久精品成人看小说 | 最近更新中文字幕免费版 | 欧美另类激情 | 日本欧美一区二区三区不卡视频 | 欧美一级视频在线观看 | 欧美αv天堂在线视频 | 美国jizz| 国产丝袜一区二区三区在线观看 | 亚洲在线成人 | 亚洲三级久久 | 这里是九九伊人 | 色网站在线| 玖玖中文 | 国产美女福利在线 | 在线观看的免费视频网站 | 国产精品外围在线观看 | 久久中文字幕不卡一二区 | 最新国产在线观看福利 | 免费一级欧美片片线观看 | 国产在线精品一区二区不卡 | 广西毛片 | 91丨九色丨首页在线观看 | 国产国语一级毛片 | 国产成人精品一区二区免费 | 99欧美在线 |