BCrypt.checkpw () Ungültige Salt-Version-Ausnahme
Ich versuche, die Authentifizierung mit BCrypt in meinem Play 2.1 zu implementieren. Java-Anwendung, aber ich bekommeInvalid salt version exception
wenn ich versuche, den Benutzer zu authentifizieren.
Dies ist meine Stapelspur
play.api.Application$anon$1: Execution exception[[IllegalArgumentException: Invalid salt version]]
at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.0]
at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$anonDies ist meine Stapelspur$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:132) [play_2.10.jar:2.1.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$anonDies ist meine Stapelspur$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:128) [play_2.10.jar:2.1.0]
at play.api.libs.concurrent.PlayPromise$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
at play.api.libs.concurrent.PlayPromise$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
java.lang.IllegalArgumentException: Invalid salt version
at org.mindrot.jbcrypt.BCrypt.hashpw(BCrypt.java:664) ~[jbcrypt-0.3m.jar:na]
at org.mindrot.jbcrypt.BCrypt.checkpw(BCrypt.java:763) ~[jbcrypt-0.3m.jar:na]
at model.operations.DistrictOperations.authenticate(DistrictOperations.java:24) ~[na:na]
at controllers.Application.authenticateDistrict(Application.java:26) ~[na:na]
at Routes$anonfun$routes wenn ich versuche, den Benutzer zu authentifizieren.$anonfun$applyOrElseDies ist meine Stapelspur$anonfun$apply$2.apply(routes_routing.scala:133) ~[na:na]
at Routes$anonfun$routes wenn ich versuche, den Benutzer zu authentifizieren.$anonfun$applyOrElseDies ist meine Stapelspur$anonfun$apply$2.apply(routes_routing.scala:133) ~[na:na]
Ich benutze folgendes Maven-Repository:http://mvnrepository.com/artifact/org.mindrot/jbcrypt/0.3m
Mein Code basiert also auf der Dokumentation
district.setPassword(BCrypt.hashpw(json.findPath("password").getTextValue(), BCrypt.gensalt()));
Zum Speichern des Passworts (Ich überprüfe auch das Passwort auf Null)
BCrypt.checkpw(password, d.getPassword());
Zum Überprüfen, ob das eingegebene Passwort korrekt ist, wobei das Passwort String ist und d.getPassword () ein gehashtes Passwort ist.
Ich weiß nicht, ob dies relevante Informationen sind, aber um genau zu sein, verwende ich den Ruhezustand für ORM und PostgreSQL 8.4 als DB.
Ich stecke hier irgendwie fest und frage, ob mir jemand helfen könnte. Als sehr im Voraus.