來源:青燈夜游 發(fā)布時間:2018-12-28 10:49:59 閱讀量:820
PHP如何生成隨機(jī)字符串?本篇文章就給大家介紹PHP使用rand()函數(shù)+哈希函數(shù)生成隨機(jī)字符串的方法,下面就開始具體內(nèi)容,希望對大家有所幫助。
在PHP中有一些函數(shù),如md5(),sha1()和hash(),可用于根據(jù)某些算法來對字符串進(jìn)行哈希(Hash)處理。哈希函數(shù)可以將一個字符串作為參數(shù),然后返回一個哈希字符串。
首先我們通過一個簡單的是來看看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)我們不斷刷新頁面,則輸出的字符串是不同的,動態(tài)效果:
下面我們來介紹一下使用到的php函數(shù)。
rand()函數(shù):可以隨機(jī)生成一個整數(shù),它可以同時接受兩個參數(shù)(min,max)用來限制隨機(jī)的范圍。
md5()函數(shù):對string參數(shù)進(jìn)行MD5算法的處理,返回一個MD5 散列。它有兩個參數(shù),分別為
$string參數(shù):必需值,需要計(jì)算的字符串。
$raw參數(shù):可選值,定義輸出格式,可能有的值為:TRUE--輸出原始 16 字符二進(jìn)制格式;FALSE--輸出32 字符十六進(jìn)制數(shù),默認(rèn)值。
sha1()函數(shù):對string參數(shù)進(jìn)行美國 Secure Hash 算法 1處理,返回一個SHA-1 散列。
它同樣有兩個參數(shù)(參考md5()函數(shù),$raw參數(shù)的TRUE值輸出原始 20 字符二進(jìn)制格式,F(xiàn)ALSE值輸出40 字符十六進(jìn)制數(shù))
hash()函數(shù):對string參數(shù)進(jìn)行特點(diǎn)的算法處理,返回一個散列字符串。
它最多需要三個參數(shù),如下所示:
$algo參數(shù):必需值,定義需要使用散列算法。PHP共有46個注冊哈希算法,其中“sha1”,“sha256”,“md5”,“haval160,4”是最受歡迎的算法。
$string參數(shù):必需值,定義需要進(jìn)行哈希處理的字符串。
$getRawOutput參數(shù):可選參數(shù),定義輸出格式。TRUE值,表示函數(shù)以原始二進(jìn)制格式返回哈希值;FALSE值,表示函數(shù)以小寫十六進(jìn)制字符序列返回哈希值。
總結(jié):以上就是本篇文章的全部內(nèi)容,希望能對大家的學(xué)習(xí)有所幫助。