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