11

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

例如,我的密码是test123test. 设计生成此密码:

$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu 

我需要解密密码并发送test123test.

4

3 回答 3

25

你不能,这就是重点。

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

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

于 2013-03-06T17:29:46.440 回答
3

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

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

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

于 2013-03-08T20:14:40.727 回答
2

雷托说的是对的。您无法取回纯文本密码,或者可能需要很长时间才能找到。另一件事是您可以通过 bcrypt-calculator 检查给定密码是否等于加密密码。

bcrypt 计算器

a.寻找BCrypt Tester

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

c.输入设计加密密码 ex : $2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu

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

于 2015-09-06T08:42:52.407 回答