解密设备密码
Posted
技术标签:
【中文标题】解密设备密码【英文标题】:Decrypting a devise password 【发布时间】:2013-02-21 14:59:27 【问题描述】:我需要解密 devise 生成的密码。
例如,我的密码是test123test
。设计生成此密码:
$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu
我需要解密密码并发送test123test
。
【问题讨论】:
解密密码的设计成本非常高。加密一个并将其与先前加密的结果进行比较比尝试解密它要快得多。这是许多使用字典进行密码攻击的基础。 【参考方案1】:Leito 说的是对的。您无法取回纯文本密码,或者可能需要很长时间才能找到。另一件事是您可以检查给定的密码是否等于 bcrypt-calculator 加密的密码。
bcrypt-calculator
a.寻找 BCrypt 测试器
b.输入你要检查的密码 ex : test123test
c.输入设计加密密码 ex : $2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu
按计算。查找密码和哈希匹配
【讨论】:
【参考方案2】:使用Devise中的可恢复模块重置用户密码。
devise :database_authenticatable, :registerable, :token_authenticatable,
:recoverable, :timeoutable, :trackable, :validatable, :rememberable
Devise 将生成密码重置表单,并向用户发送一封包含密码重置链接的电子邮件。用户点击链接,重置密码并再次登录。
【讨论】:
【参考方案3】:你不能,这就是重点。
Bcrypt 将允许您将test123test
与$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu
进行比较,但它永远不会返回纯文本密码。您可能想问如何破解 bcrypt 加密密码(非常难!我认为几乎不可能)
Jose Valim 通过链接到 devise Google Group 的 http://codahale.com/how-to-safely-store-a-password/ 来描述选择 bcrypt 的动机。
【讨论】:
以上是关于解密设备密码的主要内容,如果未能解决你的问题,请参考以下文章