解密设计密码
我需要解密由devise生成的密码。
例如,我的密码是test123test
。 设计生成此密码:
$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu
我需要解密密码并发送test123test
。
你不能,这就是重点。
Bcrypt允许你将test123test
与$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu
进行比较,但它永远不会给你回复纯文本密码。 您可能想问一下如何破解bcrypt加密密码(非常难!我认为几乎不可能)
Jose Valim通过链接到设计Google Group的http://codahale.com/how-to-safely-store-a-password/来描述选择bcrypt背后的动机。
使用Devise中的可恢复模块重置用户密码。
devise :database_authenticatable, :registerable, :token_authenticatable, :recoverable, :timeoutable, :trackable, :validatable, :rememberable
Devise将生成密码重置表单,并将向用户发送带有密码重置链接的电子邮件。 用户单击该链接,重置其密码并再次登录。
莱托所说的是对的。 您无法获得纯文本密码或可能需要很长时间才能找到。 另一件事是你可以通过bcrypt-calculator检查给定密码是否等于加密密码。
bcrypt计算器
a。寻找BCrypt Tester
b。输入您要检查的密码ex:test123test
c.enter the devise encrypted password ex:$ 2a $ 10 $ vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu
按计算。找到密码和哈希匹配