Question

Le javadoc de bCrypt contient le code permettant de chiffrer un mot de passe. :

String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt()); 

Pour vérifier si un mot de passe en texte brut correspond à un mot de passe haché précédemment, utilisez la méthode checkpw:

if (BCrypt.checkpw(candidate_password, stored_hash))
    System.out.println("It matches");
else
    System.out.println("It does not match");

Ces extraits de code me suggèrent que le sel généré aléatoirement est jeté. Est-ce le cas ou s'agit-il simplement d'un extrait de code trompeur?

Était-ce utile?

La solution

Le sel est incorporé dans le hachage (codé au format base64).

Par exemple, dans les mots de passe Unix traditionnels, le sel était stocké sous les deux premiers caractères du mot de passe. Les caractères restants représentaient la valeur de hachage. Le vérificateur le sait et sépare le hachage pour récupérer le sel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top