PHP怎么生成隨機密碼

本篇內容介紹了“PHP怎么生成隨機密碼”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

為吳江等地區(qū)用戶提供了全套網頁設計制作服務,及吳江網站建設行業(yè)解決方案。主營業(yè)務為成都網站設計、做網站、吳江網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

PHP生成隨機密碼有哪些方法

方法一:

1、在33–126中生成一個隨機整數,如35,

2、將35轉換成對應的ASCII碼字符,如35對應#

3、重復以上1、2步驟n次,連接成n位的密碼

該算法主要用到了兩個函數,mt_rand(int$min,int$max)函數用于生成隨機整數,其中$min–$max為ASCII碼的范圍,這里取33-126,可以根據需要調整范圍,如ASCII碼表中97–122位對應a–z的英文字母,具體可參考ASCII碼表;chr(int$ascii)函數用于將對應整數$ascii轉換成對應的字符。

functioncreate_password($pw_length=8)

{

$randpwd='';

for($i=0;$i<$pw_length;$i++)   {   $randpwd.=chr(mt_rand(33,126));   }   return$randpwd;   }   //調用該函數,傳遞長度參數$pw_length=6   echocreate_password(6);   方法二:   1、預置一個的字符串$chars,包括a–z,A–Z,0–9,以及一些特殊字符   2、在$chars字符串中隨機取一個字符   3、重復第二步n次,可得長度為n的密碼   functiongenerate_password($length=8){   //密碼字符集,可任意添加你需要的字符   $chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_[]{}<>~`+=,.;:/|';

$password='';

for($i=0;$i<$length;$i++)   {   //這里提供兩種字符獲取方式   //第一種是使用substr截取$chars中的任意一位字符;   //第二種是取字符數組$chars的任意元素   //$password.=substr($chars,mt_rand(0,strlen($chars)-1),1);   $password.=$chars[mt_rand(0,strlen($chars)-1)];   }   return$password;   }   PHP生成隨機密碼性能怎樣對比   方法三:   1、預置一個的字符數組$chars,包括a–z,A–Z,0–9,以及一些特殊字符   2、通過array_rand()從數組$chars中隨機選出$length個元素   3、根據已獲取的鍵名數組$keys,從數組$chars取出字符拼接字符串。該方法的缺點是相同的字符不會重復取。   functionmake_password($length=8)   {   //密碼字符集,可任意添加你需要的字符   $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','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',   '0','1','2','3','4','5','6','7','8','9','!',   '@','#','$','%','^','&','*','(',')','-','_',   '[',']','{','}','<','>','~','`','+','=',',',

'.',';',':','/','','|');

//在$chars中隨機取$length個數組元素鍵名

$keys=array_rand($chars,$length);

$password='';

for($i=0;$i<$length;$i++) password.="$chars[$keys[$i]];" length="8)" str="substr(md5(time()),0,6);" time_start="getmicrotime();" :="" time_end="getmicrotime();" time="$time_end-$time_start;">

最終得出的結果是:

方法一:9.8943710327148E-5秒

方法二:9.6797943115234E-5秒

方法三:0.00017499923706055秒

方法四:3.4093856811523E-5秒

可以看出方法一和方法二的執(zhí)行時間都差不多,方法四運行時間最短,而方法三的運行時間稍微長點。

“PHP怎么生成隨機密碼”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯網站,小編將為大家輸出更多高質量的實用文章!

分享文章:PHP怎么生成隨機密碼
標題網址:http://bm7419.com/article12/pccsdc.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站維護營銷型網站建設、搜索引擎優(yōu)化、網站改版、域名注冊

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網頁設計公司