(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_needs_rehash — Vérifie que le hachage fourni est conforme à l'algorithme et aux options spécifiées
$hash, string|int|null $algo, array $options = []): boolCette fonction vérifie que le hachage fourni correspond à l'algorithme et aux options spécifiées. Si ce n'est pas le cas, le hachage devrait être re-généré.
hashUn hachage créé par la fonction password_hash().
algoUne constantes de l'algorithme de mot de passe représentant l'algorithme à utiliser lors du hachage du mot de passe.
optionsUn tableau associatif contenant les options. Voir aussi les constantes de l'algorithme de mot de passe pour une documentation sur les options supportées pour chaque algorithme.
   Retourne true si le hachage doit être re-généré pour correspondre
   aux paramètres algo et options
   fournis, ou false sinon.
  
| Version | Description | 
|---|---|
| 7.4.0 | 
        Le paramètre algo attend désormais une chaîne de caractères, mais
        continue d'accepter un entier afin de conserver une compatibilité antérieure.
        | 
      
Exemple #1 Usage de password_needs_rehash()
<?php
$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
// Le paramètre cost peut évoluer avec le temps en fonction des améliorations 
// matérielles.
$options = array('cost' => 11);
// Vérifions d'abord que le mot de passe correspond au hachage stocké
if (password_verify($password, $hash)) {
    // Le hachage correspond, on vérifie au cas où un nouvel algorithme de hachage
    // serait disponible ou si le coût a été changé
    if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) {
        // On crée un nouveau hachage afin de mettre à jour l'ancien
        $newHash = password_hash($password, PASSWORD_DEFAULT, $options);
    }
    // On connecte l'utilisateur
}
?>