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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage