Comprendre Bcrypt et les sels générés aléatoirement
Bcrypt, un algorithme standard de l'industrie pour le hachage sécurisé des mots de passe, utilise un sel aléatoire pour améliorer la protection des mots de passe . Cependant, les utilisateurs peuvent se demander comment fonctionne le processus de vérification tout en tenant compte de cet élément apparemment aléatoire.
Le rôle de Salt
Le sel sert de préfixe unique ajouté au mot de passe avant hachage. Cette valeur aléatoire garantit que chaque mot de passe produit un hachage distinct même s'il est identique. En utilisant un sel imprévisible, les attaquants ne peuvent pas précalculer les hachages de mots de passe, ce qui rend beaucoup plus difficile la compromission des comptes d'utilisateurs.
Structure du mot de passe haché
Alors que le sel est généré de manière aléatoire , il est inclus dans le mot de passe haché résultant. Le mot de passe haché comprend plusieurs parties, notamment :
Processus de vérification
Lors de la vérification d'un mot de passe, le mot de passe haché est fourni à l'algorithme bcrypt. L'algorithme extrait la partie sel et l'utilise pour hacher le mot de passe fourni.
Ce processus reflète essentiellement l'opération de hachage initiale qui a généré le mot de passe haché. Si le hachage nouvellement généré correspond au hachage stocké, le mot de passe fourni est vérifié comme étant correct.
Exemple
Considérons un mot de passe haché généré pour le mot de passe "password":
y$abcdefg...123456789...
Pour vérifier si le "mot de passe" est correct, ce qui suit est utilisé :
crypt("password", "y$abcdefg...123456789...")
Le résultat de cette opération sera identique au hachage généré à l'origine si "mot de passe" est correct. En effet, le sel est contenu dans le mot de passe haché, permettant de recréer l'opération de hachage d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!