成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

使用PHP怎么實(shí)現(xiàn)一個(gè)生成隨機(jī)字符串功能-創(chuàng)新互聯(lián)

使用PHP怎么實(shí)現(xiàn)一個(gè)生成隨機(jī)字符串功能?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供萬柏林網(wǎng)站建設(shè)、萬柏林做網(wǎng)站、萬柏林網(wǎng)站設(shè)計(jì)、萬柏林網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、萬柏林企業(yè)網(wǎng)站模板建站服務(wù),10年萬柏林做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

方法一

1、在33 – 126中生成一個(gè)隨機(jī)整數(shù),如35。

2、將35轉(zhuǎn)換成對應(yīng)的ASCII碼字符,如35對應(yīng)#。

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

該算法主要用到了兩個(gè)函數(shù),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)的字符。

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

方法二

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

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

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

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

方法三

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

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

3、根據(jù)已獲取的鍵名數(shù)組 $keys,從數(shù)組$chars取出字符拼接字符串。該方法的缺點(diǎn)是相同的字符不會(huì)重復(fù)取。

function make_password( $length = 8 ) 
{ 
 
// 密碼字符集,可任意添加你需要的字符 
$chars = array(‘a(chǎn)', ‘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 中隨機(jī)取 $length 個(gè)數(shù)組元素鍵名 
$keys = ($chars, $length); 
$password = ”; 
for($i = 0; $i < $length; $i++) 
{ 
// 將 $length 個(gè)數(shù)組元素連接成字符串 
$password .= $chars[$keys[$i]]; 
} 
return $password; 
}

時(shí)間效率對比

我們使用以下PHP代碼,計(jì)算上面的3 個(gè)隨機(jī)密碼生成函數(shù)生成6 位密碼的運(yùn)行時(shí)間,進(jìn)而對他們的時(shí)間效率進(jìn)行一個(gè)簡單的對比。最終得出的結(jié)果是:

方法一:9.8943710327148E-5 秒 
方法二:9.6797943115234E-5 秒 
方法三:0.00017499923706055 秒

可以看出方法一和方法二的執(zhí)行時(shí)間都差不多,而方法三的運(yùn)行時(shí)間稍微長了點(diǎn)。



看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。

分享名稱:使用PHP怎么實(shí)現(xiàn)一個(gè)生成隨機(jī)字符串功能-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://jinyejixie.com/article8/dedcop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、面包屑導(dǎo)航、企業(yè)建站、動(dòng)態(tài)網(wǎng)站、標(biāo)簽優(yōu)化

廣告

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

微信小程序開發(fā)
于田县| 舞阳县| 旅游| 梅河口市| 玛多县| 德安县| 潍坊市| 精河县| 滁州市| 夏邑县| 沁阳市| 合江县| 万源市| 廉江市| 思茅市| 遂宁市| 保康县| 六安市| 万荣县| 县级市| 会泽县| 福贡县| 浦城县| 平泉县| 阳江市| 泗洪县| 丹凤县| 鸡西市| 林周县| 麻城市| 彭阳县| 定南县| 桃园市| 三明市| 汶川县| 天长市| 海丰县| 湟源县| 包头市| 灌南县| 永新县|