java - BCrypt.checkpw() Invalid salt version exception -


i'm trying implement authentication using bcrypt, in play 2.1. java application, i'm getting invalid salt version exception when i'm trying authenticate user.

this stack trace

play.api.application$$anon$1: execution exception[[illegalargumentexception: invalid salt version]] @ play.api.application$class.handleerror(application.scala:289) ~[play_2.10.jar:2.1.0] @ play.api.defaultapplication.handleerror(application.scala:383) [play_2.10.jar:2.1.0] @ play.core.server.netty.playdefaultupstreamhandler$$anon$2$$anonfun$handle$1.apply(playdefaultupstreamhandler.scala:132) [play_2.10.jar:2.1.0] @ play.core.server.netty.playdefaultupstreamhandler$$anon$2$$anonfun$handle$1.apply(playdefaultupstreamhandler.scala:128) [play_2.10.jar:2.1.0] @ play.api.libs.concurrent.playpromise$$anonfun$extend1$1.apply(promise.scala:113) [play_2.10.jar:2.1.0] @ 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 @ org.mindrot.jbcrypt.bcrypt.hashpw(bcrypt.java:664) ~[jbcrypt-0.3m.jar:na] @ org.mindrot.jbcrypt.bcrypt.checkpw(bcrypt.java:763) ~[jbcrypt-0.3m.jar:na] @ model.operations.districtoperations.authenticate(districtoperations.java:24) ~[na:na] @ controllers.application.authenticatedistrict(application.java:26) ~[na:na] @ routes$$anonfun$routes$1$$anonfun$applyorelse$2$$anonfun$apply$2.apply(routes_routing.scala:133) ~[na:na] @ routes$$anonfun$routes$1$$anonfun$applyorelse$2$$anonfun$apply$2.apply(routes_routing.scala:133) ~[na:na] 

i'm using following maven repository: http://mvnrepository.com/artifact/org.mindrot/jbcrypt/0.3m

my code based on documentation, thus

district.setpassword(bcrypt.hashpw(json.findpath("password").gettextvalue(), bcrypt.gensalt()));     

for saving password (i'm checking password being null)

bcrypt.checkpw(password, d.getpassword()); 

for checking if entered password correct, password string , d.getpassword() hashed password.

i don't know if relevant information, precise i'm using hibernate orm , postgresql 8.4 db.

i'm kind of stuck in here i'm asking if me out. in advance.

for others encountering same exception, check have bcrypt.checkpw parameters right way round. (i didn't , therefore found question before realised silly mistake.)

or op answered himself, log/debug value of hashed password double check comparing hashed password! should 60-char string in format $2a$10$llw0g6iyibuob8h5xrt9xurczagdcm/aiv6ssjf5v78xs824egbh.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -