Fonctions de hachage de mot de passe
PHP Manual

password_needs_rehash

(PHP 5 >= 5.5.0)

password_needs_rehashVérifie si la table de hachage fournie correspond aux options fournies

Description

boolean password_needs_rehash ( string $hash , integer $algo [, array $options ] )

Cette fonction vérifie si la table de hachage fournie implémente l'algorithme et les options fournis. Si ce n'est pas le cas, il est supposé que la table de hachage doit être re-générée.

Liste de paramètres

hash

Un hachage créé par la fonction password_hash().

algo

Une constantes de l'algorithme de mot de passe représentant l'algorithme à utiliser lors du hachage du mot de passe.

options

Un 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.

Exemples

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érifie un hash stocké par rapport à un mot de passe en plain-text
if (password_verify($password$hash)) {
    
// Vérifie si un nouvel algorythme de hashing est disponible ou si le 
    // cout a changé
    
if (password_needs_rehash($hashPASSWORD_DEFAULT$options)) {
        
// Alors crée un nouveau hash et remplace l'ancien
        
$newHash password_hash($passwordPASSWORD_DEFAULT$options);
    }

    
// Connecte l'utilisateur
}
?>

Valeurs de retour

Retourne TRUE si la table de hachage doit être re-générée pour correspondre aux paramètres algo et options fournis, ou FALSE sinon.


Fonctions de hachage de mot de passe
PHP Manual