【问题标题】:How to compare passwords in Java hashed by devise gem ruby on rails如何比较通过在 Rails 上设计 gem ruby​​ 散列的 Java 密码
【发布时间】:2013-06-04 14:59:47
【问题描述】:

我正在处理从 mysql db 验证用户的任务。用户密码由 Ruby on Rails 的 devise gem 框架进行哈希处理。

Docs 说它也使用 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. 

虽然它应该返回 true,因为 Google123 散列是

$2a$10$Qj.7VHa8tJcSFAU9eR1o8eCiXzFSkQPQxpODL971xKiDFbYjdaWyS 

使用 BCrypt 算法。

你能帮我解决这个问题吗,或者我应该寻找其他的 Bcrypt 实现。

【问题讨论】:

标签: java devise gem jbcrypt


【解决方案1】:

【讨论】:

  • 是的,理论上它应该可以工作,但实际上它不工作。它每次都返回错误。在这里提一下,密码是由在 Rails 框架上设计 gem ruby​​ 进行哈希处理的,它们在数据库中。它们在 Ruby 中运行良好,但不适用于 Java BCrypt API。有什么建议吗?
  • @RahatALi 我建议在 Java 中对密码进行哈希处理,以确保所有操作都相同
猜你喜欢
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 2012-08-29
  • 2020-10-05
  • 1970-01-01
  • 2016-09-19
  • 1970-01-01
  • 2015-05-14
相关资源
最近更新 更多