2013-06-08 1 views
0

Я работаю над задачей аутентификации пользователей из mysql db. Пользовательские пароли хэшируются с помощью оболочки gem для Ruby on Rails.Как сравнить пароли в хэшировании Java с помощью devem gem ruby ​​on rails

Документы говорят, что он также использует BCrypt для хеширования паролей. Проблема в том, что jBcrypt

BCrypt.checkpw("Google123", "$2a$10$Qj.7VHa8tJcSFAU9eR1o8eCiXzFSkQPQxpODL971xKiDFbYjdaWyS"); // not working nor 
BCrypt.checkpw("test123test", "$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu"); // is working. It always returns false. 

Хотя она должна возвращать верно, так как Google123 хэширования

$2a$10$Qj.7VHa8tJcSFAU9eR1o8eCiXzFSkQPQxpODL971xKiDFbYjdaWyS 

с использованием алгоритма BCrypt.

Не могли бы вы помочь мне исправить эту проблему или я должен искать другую реализацию Bcrypt.

+0

Возможно, это поможет вам: http://stackoverflow.com/questions/277044/do-i-need-to-store-the-salt-with-bcrypt –

ответ

-2

Это должно работать нормально. Взгляните на документацию здесь http://static.springsource.org/spring-security/site/docs/3.1.x/apidocs/org/springframework/security/crypto/bcrypt/BCrypt.html.

+0

Да Теоретически он должен работать, но практически не работает , Он возвращает ложь каждый раз. Просто, чтобы упомянуть здесь, пароли хэшируются при создании gem ruby ​​на rails framework, и они находятся в db. Они отлично работают в Ruby, но не с Java BCrypt API. Какие-либо предложения? –

+0

@RahatALi Я бы рекомендовал хэшировать пароли в Java, чтобы убедиться, что все это делается одинаково –