【问题标题】:Decrypting a devise password解密设备密码
【发布时间】:2013-02-21 14:59:27
【问题描述】:

我需要解密 devise 生成的密码。

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

$2a$10$vGeVVu.E0XGjlNEa0xMCK.R0SEH0aFuyJpefrq01Axz6WSbHApPEu 

我需要解密密码并发送test123test

【问题讨论】:

  • 解密密码的设计成本非常高。加密一个并将其与先前加密的结果进行比较比尝试解密它要快得多。这是许多使用字典进行密码攻击的基础。

标签: ruby-on-rails encryption devise passwords


【解决方案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 的动机。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-08
        • 2012-10-03
        • 2020-11-10
        相关资源
        最近更新 更多