函式名:sodium_crypto_pwhash_str_needs_rehash()
適用版本:PHP 7.2.0及以上版本
函式說明:該函式用於檢查以前使用sodium_crypto_pwhash_str()函式生成的密碼雜湊是否需要重新計算。
語法:bool sodium_crypto_pwhash_str_needs_rehash(string $hash, int $opslimit, int $memlimit)
引數:
- $hash:以前生成的密碼雜湊,作為字串傳遞
- $opslimit:迭代次數(工作因子),用於控制計算密碼雜湊所需的計算量
- $memlimit:記憶體限制,以位元組為單位,用於控制計算密碼雜湊所需的記憶體量
返回值:如果密碼雜湊需要重新計算,則返回true;否則返回false。
示例:
$hash = '$argon2id$v=19$m=65536,t=4,p=1$S3JvbE5vZGUgU3RyaW5n$Y4plnXZMnK0Bq2w9WJy9jD0I9Hb1W2w+GKw0q6tZv0s';
// 假設當前的迭代次數和記憶體限制
$currentOpsLimit = 4;
$currentMemLimit = 65536;
if (sodium_crypto_pwhash_str_needs_rehash($hash, $currentOpsLimit, $currentMemLimit)) {
// 密碼雜湊需要重新計算
echo "密碼雜湊需要重新計算";
} else {
// 密碼雜湊無需重新計算
echo "密碼雜湊無需重新計算";
}
注意事項:
- 為了確保密碼雜湊的安全性,建議定期檢查密碼雜湊是否需要重新計算。
- $opslimit和$memlimit引數的值應根據伺服器的計算和記憶體資源進行適當調整,以平衡安全性和效能。
熱門工具排行榜