牛牛在线工具

password_needs_rehash()

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

password_needs_rehash()

检查给定的哈希是否需要重新计算,以适应当前密码哈希算法的更改或参数的更改

函数名:password_needs_rehash() 适用版本:PHP 5 >= 5.5.0, PHP 7 函数描述:password_needs_rehash() 函数用于检查给定的哈希是否需要重新计算,以适应当前密码哈希算法的更改或参数的更改。 用法: bool password_needs_rehash ( string $hash , int $algo [, array $options ] ) 参数: $hash:要检查的密码哈希。 $algo:用于计算哈希的密码算法的常量。可以使用 PASSWORD_DEFAULT 常量,也可以直接传递算法的整数值,如 PASSWORD_BCRYPT。 $options(可选):一个关联数组,包含算法的参数。例如,对于 PASSWORD_BCRYPT 算法,可以通过设置 "cost" 选项来指定计算哈希的计算成本。更多算法特定的选项可以参考 PHP 手册。 返回值:如果需要重新计算哈希,则返回 true,否则返回 false。 示例: $hash = '$2y$10$GZGK1b6d9sm2r3rBj6tG6e6d7XmEYv0k3S6Kq6YH4I6cZ4s5q6w5G'; $needsRehash = password_needs_rehash($hash, PASSWORD_DEFAULT); if ($needsRehash) { // 重新计算哈希并存储新的哈希值 $newHash = password_hash('password123', PASSWORD_DEFAULT); // 更新数据库中的密码哈希值 // $newHash 存储到数据库中 } else { // 哈希仍然是最新的,无需重新计算 echo "密码哈希仍然是最新的。"; } 在上面的示例中,我们首先检查给定的哈希是否需要重新计算。如果需要重新计算,我们使用 password_hash() 函数生成一个新的哈希,并将其存储到数据库中。如果哈希仍然是最新的,我们只需输出一条消息。