Syntaxe:
String | False Password_hash (String $ mot de passe, chaîne | int | null $ algo [, array $ options = []])Le premier argument est obligatoire, et il est utilisé pour prendre la valeur de la chaîne qui sera hachée.
Le deuxième argument est obligatoire, et il est utilisé pour prendre l'entier ou la chaîne qui fait référence à un algorithme, qui sera utilisé pour créer le hachage du mot de passe. Cette fonction prend actuellement en charge les algorithmes suivants.
Password_default:
Il utilise l'algorithme BCrypt pour générer le hachage de mot de passe.
Password_bcrypt:
Il utilise l'algorithme crypt_blowfish pour générer le hachage de mot de passe.
Password_argon2i:
Il utilise l'algorithme de hachage Argon2i pour générer le hachage de mot de passe, et il peut être utilisé si PHP a été compilé avec le support Argon2.
Password_argon2id:
Il utilise l'algorithme de hachage Argon2id pour générer le hachage de mot de passe, et il peut être utilisé si PHP a été compilé avec le support Argon2.
Le troisième argument est facultatif, et il est utilisé pour définir un tableau qui contient les options prises en charge de l'algorithme utilisé.
Les options suivantes sont prises en charge par l'algorithme Password_Bcrypt.
sel:
Cette option est obsolète maintenant. La valeur de sel générée par défaut est préférable à utiliser.
coût:
Il est utilisé pour définir le coût de l'algorithme qui doit être utilisé. La valeur par défaut est 10.
Les options suivantes sont prises en charge par les algorithmes de Password_argon2i et Password_argon2id.
Memory_Cost:
Il est utilisé pour définir la mémoire maximale dans KB qui peut être utilisée pour générer le hachage du mot de passe en utilisant le hachage Argon2.
Time_cost:
Il est utilisé pour définir la durée maximale qui peut être utilisée pour générer le hachage de mot de passe en utilisant le hachage Argon2.
Sujets:
Il est utilisé pour définir le nombre de threads pour générer le hachage de mot de passe à l'aide du hachage Argon2.
La fonction renvoie le mot de passe hachée sur le succès ou le faux en panne.
Password_hash () Exemples de fonction
Les utilisations de la fonction Password_Hash () pour créer des mots de passe hachés ont été dans la prochaine partie du tutoriel.
Exemple-1: Créez un mot de passe haché en utilisant l'algorithme de hachage par défaut
Créez un fichier PHP avec le script suivant qui générera une valeur hachée d'un mot de passe en utilisant la fonction Password_Hash (), et l'algorithme de hachage par défaut a été utilisé ici. Les chaînes de mot de passe d'origine et hachée seront imprimées comme sortie du script.
// définir la valeur du mot de passeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-2: Créez un mot de passe haché à l'aide de la valeur du coût et de l'algorithme de mot de passe_bcrypt
Créez un fichier PHP avec le script suivant qui générera une valeur hachée d'un mot de passe en utilisant la fonction Password_Hash (). L'algorithme Password_Bcrypt et la valeur du coût ont été utilisés dans la fonction Password_Hash () pour générer le mot de passe hachée. La chaîne de mot de passe originale et hachée sera imprimée en tant que sortie du script.
// définir la valeur du mot de passeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-3: Créez un mot de passe haché à l'aide de l'algorithme de Password_argon2i
Créez un fichier PHP avec le script suivant qui générera une valeur hachée d'un mot de passe en utilisant la fonction Password_Hash (). L'algorithme Password_argon2i a été utilisé dans la fonction Password_Hash () pour générer le mot de passe hachée. Les chaînes de mot de passe d'origine et hachée seront imprimées comme sortie du script.
// définir la valeur du mot de passeSortir:
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-4: Utilisation de la fonction Password_Hash () avec Password_verify ()
Créez un fichier PHP avec le script suivant pour vérifier le mot de passe haché à l'aide de la fonction Password_verify () après avoir généré le mot de passe haché à partir d'une chaîne de données à l'aide de la fonction Password_Hash (). Le mot de passe sera tiré du paramètre URL et vérifie si le mot de passe est valide en utilisant la valeur du mot de passe et les valeurs de mot de passe hachée dans les arguments de la fonction Password_verify (). Si cette fonction renvoie vrai, le mot de passe est valide; Sinon, le mot de passe n'est pas valide.
// définir la valeur du mot de passeSortir:
Après avoir exécuté le script ci-dessus sans le paramètre URL, la sortie suivante apparaîtra.
http: // localhost / php / pass4.php
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus avec la valeur du paramètre URL, 'SecretPassword ', Et le mot de passe hachée a été généré pour cette valeur dans le script. Donc, le mot de passe est valide.
http: // localhost / php / pass4.php?mot de passe = SecretPassword
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus avec la valeur du paramètre URL, 'secret' invalide.
http: // localhost / php / pass4.php?mot de passe = secret
Conclusion
Différentes façons de créer un mot de passe haché à l'aide de la fonction Password_Hash () ont été montrés dans les exemples de ce tutoriel pour aider les utilisateurs de PHP à appliquer correctement cette fonction dans leur script.