(PHP 5 >= 5.5.0, PHP 7)
password_needs_rehash — Checks if the given hash matches the given options
$hash
, integer $algo
[, array $options
] )This function checks to see if the supplied hash implements the algorithm and options provided. If not, it is assumed that the hash needs to be rehashed.
hash
Um hash criado por password_hash().
algo
Uma constante de algoritmo de senha indicando qual algoritmo utilizar no hash de senha.
options
Um array associativo contendo opções. Veja as constantes de algoritmo de senha sobre detalhes das opções suportadas por cada algoritmo.
Exemplo #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
}
?>
Returns TRUE
if the hash should be rehashed to match the given
algo
and options
, or FALSE
otherwise.