牛牛在线工具

sodium_crypto_pwhash_str_needs_rehash()

收录 8868 个 PHP 函数,含用途说明与用法示例。

sodium_crypto_pwhash_str_needs_rehash()

检查以前使用sodium_crypto_pwhash_str()函数生成的密码散列是否需要重新计算

函数名: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参数的值应根据服务器的计算和内存资源进行适当调整,以平衡安全性和性能。