新聞中心
定義和用法
hash_pbkdf2?- 生成所提供密碼的 PBKDF2 密鑰導(dǎo)出
版本支持
PHP4 | PHP5 | PHP7 |
---|---|---|
不支持 | V5.5.0+支持 | 支持 |
7.2.0 不再支持非加密的哈希函數(shù)(adler32,crc32,crc32b,fnv132,fnv1a32,fnv164,fnv1a64,joaat)。
語法
hash_pbkdf2(?string?$algo?,?string?$password?,?string?$salt?,?int?$iterations?[,?int?$length?=?0?[,?bool?$raw_output?=?FALSE?]]?)hash_pbkdf2()?生成所提供密碼的 PBKDF2 密鑰導(dǎo)出
參數(shù)
參數(shù) | 必需的 | 描述 |
---|---|---|
algo | 是 | 要使用的哈希算法名稱,例如:"md5","sha256","haval160,4" 等。 如何獲取受支持的算法清單,請(qǐng)參見?hash_algos()。 |
password | 是 | 要進(jìn)行導(dǎo)出的密碼。 |
salt | 是 | 進(jìn)行導(dǎo)出時(shí)所使用的“鹽”,這個(gè)值應(yīng)該是隨機(jī)生成的。 |
iterations | 是 | 進(jìn)行導(dǎo)出時(shí)的迭代次數(shù)。 |
length | 否 | 密鑰導(dǎo)出數(shù)據(jù)的長(zhǎng)度。如果 raw_output 為 TRUE, 此參數(shù)為密鑰導(dǎo)出數(shù)據(jù)的字節(jié)長(zhǎng)度。如果 raw_output 為 FALSE, 此參數(shù)為密鑰導(dǎo)出數(shù)據(jù)的字節(jié)長(zhǎng)度的 2 倍,因?yàn)?1 個(gè)字節(jié)數(shù)據(jù)對(duì)應(yīng)的 2 個(gè) 16 進(jìn)制的字符。如果傳入 0,則使用所選算法的完整輸出大小。 |
raw_output | 否 | 設(shè)置為 TRUE 輸出原始二進(jìn)制數(shù)據(jù), 設(shè)置為 FALSE 輸出小寫 16 進(jìn)制字符串。 |
返回值
如果 raw_output 設(shè)置為 TRUE, 則返回原始二進(jìn)制數(shù)據(jù)表示的信息摘要, 否則返回 16 進(jìn)制小寫字符串格式表示的信息摘要。
在以下情況下會(huì)產(chǎn)生 E_WARNING: 指定了未知的算法, iterations 小于等于 0, length 小于等于 0 或者 salt 過長(zhǎng)(大于 INT_MAX - 4)。
示例
$password?=?"password"; $iterations?=?1000; //?使用?openssl_random_pseudo_bytes(),random_bytes(),或者其他合適的隨機(jī)數(shù)生成函數(shù) //?來生成隨機(jī)初始向量 $salt?=?openssl_random_pseudo_bytes(16,?$cstrong); $hash?=?hash_pbkdf2("sha256",?$password,?$salt,?$iterations,?20); echo?$hash;為了安全起見,可以使用 PBKDF2 方法對(duì)密碼明文進(jìn)行哈希運(yùn)算后再存儲(chǔ)。 但是更好的方案是使用 password_hash() 函數(shù) 或者使用 CRYPT_BLOWFISH 算法調(diào)用 crypt() 函數(shù)。
相關(guān)頁面
crypt()?- 單向字符串散列
hash()?- 生成哈希值 (消息摘要)
hash_algos()?- 返回已注冊(cè)的哈希算法列表
hash_init()?- 初始化增量哈希運(yùn)算上下文
hash_hmac()?- 使用 HMAC 方法生成帶有密鑰的哈希值
hash_hmac_file()?- 使用 HMAC 方法和給定文件的內(nèi)容生成帶密鑰的哈希值
openssl_pbkdf2()?- 生成一個(gè) PKCS5 v2 PBKDF2 字符串
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章題目:PHPhash_pbkdf2哈希(Hash)函數(shù)-創(chuàng)新互聯(lián)
鏈接分享:http://fisionsoft.com.cn/article/dsgiis.html