password_needs_rehash
password_needs_rehash
(PHP 5 >= 5.5.0, PHP 7)
password_needs_rehash - 检查给定的散列是否与给定的选项匹配
描述
boolean password_needs_rehash ( string $hash , integer $algo [, array $options ] )
该函数检查提供的哈希是否实现了提供的算法和选项。如果不是,则假定散列需要重新映射。
参数
hash
由password_hash()创建的哈希。
algo
一个密码算法不断表示的散列算法的密码时使用。
options
包含选项的关联数组。有关每种算法支持的选项的文档,请参阅密码算法常量。
示例
Example #1 Usage of password
_
needs
_
rehash()
<?php
$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
// The cost parameter can change over time as hardware improves
$options = array('cost' => 11
// Verify stored hash against plain-text password
if (password_verify($password, $hash)) {
// Check if a newer hashing algorithm is available
// or the cost has changed
if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) {
// If so, create a new hash, and replace the old one
$newHash = password_hash($password, PASSWORD_DEFAULT, $options
}
// Log user in
}
?>
返回值
返回TRUE
如果哈希匹配给定algo
和options
,或以其他方式时返回FALSE
。
← password_hash
password_verify →