bcrypt est une fonction de dérivation conçue pour stocker des mots de passe. Sa sortie contient le préfixe de version, le facteur de coût, le sel aléatoire et le résultat, par exemple $2y$12$…. Deux calculs du même mot de passe donnent donc normalement des chaînes différentes.
Utilisez le générateur pour créer un hash bcrypt ou pour tester le format. Dans une application, on ne “décrypte” pas bcrypt : on vérifie un mot de passe candidat avec une fonction telle que password_verify.
Le coût doit être suffisamment élevé pour ralentir les essais, tout en restant acceptable pour ton serveur. Il doit être réévalué avec le temps. Conservez la chaîne bcrypt complète : elle contient les paramètres nécessaires à la vérification.
bcrypt génère un sel aléatoire pour chaque hash. La vérification utilise le sel et le coût stockés dans la chaîne complète.
Non. Une application vérifie un mot de passe candidat contre le hash ; elle ne récupère pas le mot de passe original.
Le coût contrôle le nombre d’itérations. Une valeur plus élevée ralentit la création du hash et les essais de mots de passe.
bcrypt intègre son sel et son coût dans la chaîne complète. La vérification compare un candidat sans retrouver le mot de passe original.
Un sel aléatoire est généré à chaque calcul.
bcrypt classique ne prend en compte que les 72 premiers octets de l’entrée.
Mesurez le temps sur votre serveur et retenez le coût le plus élevé compatible avec votre charge et votre latence cible.