table hashage mot de passe Flashcards
array password_get_info ( string $hash )
Lorsqu’il est passé une table de hachage valide, créée par un algorithme supporté par la fonction password_hash(), cette fonction retournera un tableau d’information à propos de la table de hachage.
string password_hash ( string $password , integer $algo [, array $options ] )
La fonction password_hash() crée une nouvelle clé de hachage en utilisant un algorithme de hachage fort en une pass. La fonction password_hash() est compatible avec la fonction crypt(). Aussi, un mot de passe haché par la fonction crypt() peut être utilisé avec la fonction password_hash().
Les algorithmes suivants sont actuellement supportés :
PASSWORD_DEFAULT - Utilisation de l'algorithme bcrypt (par défaut depuis PHP 5.5.0). Notez que cette constante est appelée à changer dans le temps, au fur et à mesure que de nouveaux et forts algorithmes sont ajoutés à PHP. Aussi, la longueur du résultat issu de cet identifiant peut changer dans le temps. Toutefois, il est recommandé de stocker le résultat dans une colonne de la base de données qui peut contenir au moins 60 caractères (255 caractères peut être un très bon choix). PASSWORD_BCRYPT - Utilisation de l'algorithme CRYPT_BLOWFISH pour créer la clé de hachage. Ceci va créer une clé de hachage standard crypt() utilisant l'identifiant "$2y$". Le résultat sera toujours une chaîne de 60 caractères, ou FALSE si une erreur survient. Options supportées : salt - pour fournir manuellement un salt à utiliser lors du hachage du mot de passe. Notez que cette option va écraser tout salt généré automatiquement. Si omis, un salt aléatoire sera généré par la fonction password_hash() pour chaque mot de passe haché. C'est le mode de fonctionnement prévu. cost - détermine le coût algorithmique qui doit être utilisé. Des exemples de ces valeurs peuvent être trouvés sur la page de la documentation de la fonction crypt(). Si omis, la valeur par défaut 10 sera utilisée. C'est un bon compromis, mais vous pourriez vouloir l'augmenter suivant votre architecture.
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.
boolean password_verify ( string $password , string $hash )
Vérifie que la table de hachage fournie correspond bien au mot de passe fourni.
Notez que la fonction password_hash() retourne l’algorithme, le “cost”, et le salt comme partis du hache retourné. Toutefois, toutes les informations nécessaires pour vérifier le hachage y sont incluses. Ceci permet à la fonction de vérifier le hachage sans avoir besoin d’un stockage séparé pour les informations concernant l’algorithme et le salt.