來(lái)源:青燈夜游 發(fā)布時(shí)間:2018-12-28 10:49:59 閱讀量:943
PHP如何生成隨機(jī)字符串?本篇文章就給大家介紹PHP使用rand()函數(shù)+哈希函數(shù)生成隨機(jī)字符串的方法,下面就開(kāi)始具體內(nèi)容,希望對(duì)大家有所幫助。
在PHP中有一些函數(shù),如md5(),sha1()和hash(),可用于根據(jù)某些算法來(lái)對(duì)字符串進(jìn)行哈希(Hash)處理。哈希函數(shù)可以將一個(gè)字符串作為參數(shù),然后返回一個(gè)哈希字符串。
首先我們通過(guò)一個(gè)簡(jiǎn)單的是來(lái)看看rand()函數(shù)+哈希函數(shù)如何生成隨機(jī)字符串。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
效果圖:
當(dāng)我們不斷刷新頁(yè)面,則輸出的字符串是不同的,動(dòng)態(tài)效果:
下面我們來(lái)介紹一下使用到的php函數(shù)。
rand()函數(shù):可以隨機(jī)生成一個(gè)整數(shù),它可以同時(shí)接受兩個(gè)參數(shù)(min,max)用來(lái)限制隨機(jī)的范圍。
md5()函數(shù):對(duì)string參數(shù)進(jìn)行MD5算法的處理,返回一個(gè)MD5 散列。它有兩個(gè)參數(shù),分別為
$string參數(shù):必需值,需要計(jì)算的字符串。
$raw參數(shù):可選值,定義輸出格式,可能有的值為:TRUE--輸出原始 16 字符二進(jìn)制格式;FALSE--輸出32 字符十六進(jìn)制數(shù),默認(rèn)值。
sha1()函數(shù):對(duì)string參數(shù)進(jìn)行美國(guó) Secure Hash 算法 1處理,返回一個(gè)SHA-1 散列。
它同樣有兩個(gè)參數(shù)(參考md5()函數(shù),$raw參數(shù)的TRUE值輸出原始 20 字符二進(jìn)制格式,F(xiàn)ALSE值輸出40 字符十六進(jìn)制數(shù))
hash()函數(shù):對(duì)string參數(shù)進(jìn)行特點(diǎn)的算法處理,返回一個(gè)散列字符串。
它最多需要三個(gè)參數(shù),如下所示:
$algo參數(shù):必需值,定義需要使用散列算法。PHP共有46個(gè)注冊(cè)哈希算法,其中“sha1”,“sha256”,“md5”,“haval160,4”是最受歡迎的算法。
$string參數(shù):必需值,定義需要進(jìn)行哈希處理的字符串。
$getRawOutput參數(shù):可選參數(shù),定義輸出格式。TRUE值,表示函數(shù)以原始二進(jìn)制格式返回哈希值;FALSE值,表示函數(shù)以小寫(xiě)十六進(jìn)制字符序列返回哈希值。
總結(jié):以上就是本篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信