解密设计密码

时间:2013-03-06 17:15:30

标签: ruby-on-rails encryption devise passwords

我需要解密设计生成的密码。

例如,我的密码为test123test。设计生成了这个密码:

$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu 

我需要解密密码并发送test123test

3 个答案:

答案 0 :(得分:20)

你不能,这就是重点。

Bcrypt允许您将test123test$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu进行比较,但它永远不会给您回复纯文本密码。您可能想问一下如何破解bcrypt加密密码(非常难!我认为几乎不可能)

Jose Valim描述了通过链接到设备Google Group的http://codahale.com/how-to-safely-store-a-password/来选择bcrypt背后的动机。

答案 1 :(得分:3)

使用Devise中的可恢复模块重置用户密码。

devise :database_authenticatable, :registerable, :token_authenticatable,
     :recoverable, :timeoutable, :trackable, :validatable, :rememberable

Devise将生成一个密码重置表单,并向用户发送一封带有密码重置链接的电子邮件。用户单击该链接,重置其密码并再次登录。

答案 2 :(得分:2)

Leito所说的是对的。您无法获得纯文本密码或可能需要很长时间才能找到。另一件事是你可以通过bcrypt-calculator检查给定密码是否等于加密密码。

bcrypt-calculator

  

a。查看BCrypt Tester

     

b。输入您要检查的密码ex:test123test

     

c.enter the devise encrypted password ex:$ 2a $ 10 $ vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu

     

按计算。找到密码和哈希匹配