Muss ich das Salz mit bcrypt lagern?
bCrypt ist javadoc hat dieser code für das verschlüsseln von einem Passwort:
String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt());
Um zu überprüfen, ob ein Klartext-Passwort entspricht einem Hash zuvor, verwenden Sie die checkpw Methode:
if (BCrypt.checkpw(candidate_password, stored_hash))
System.out.println("It matches");
else
System.out.println("It does not match");
Diese code-Schnipsel bedeuten für mich, dass die zufällig generierten Salz wird weggeworfen. Ist dies der Fall, oder ist das nur eine irreführende code-snippet?
InformationsquelleAutor der Frage RodeoClown | 2008-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Salz ist integriert in das hash (kodiert im base64-format).
Beispielsweise in traditionellen Unix-Passwörter das Salz gelagert wurde, wie die ersten zwei Zeichen des Passworts. Die übrigen Charaktere vertreten, die den hash-Wert. Der checker-Funktion weiß das und zieht den hash auseinander, um das Salz wieder heraus.
InformationsquelleAutor der Antwort Greg Hewgill