【问题标题】:How to decrypt this password?如何解密这个密码?
【发布时间】:2015-07-14 14:58:06
【问题描述】:

一个网站传给我,我想弄清楚它使用什么类型的密码加密。

这是我创建的测试帐户的密码:$2a$08$kFdK6FeCZbFq8ZySfKlogu3lrRKnhT5yK8T3I2qXhOQSVuGtPfJhe

解密方法或加密类型将非常有用。 谢谢。

【问题讨论】:

标签: database encryption passwords password-encryption


【解决方案1】:

格式是 bcrypt 的。如果是这样,你就不能“解密”这个密码,因为它经历了一个不可逆的散列过程。但是您应该能够通过使用您的测试帐户的密码和 8 的“成本因素”调用 bcrypt 来验证是否使用了 bcrypt。您可以使用 online calculators 进行快速测试。

【讨论】:

    【解决方案2】:

    您不能,因为它不是加密密码,而是密码哈希(有时称为单向加密)。这是存储密码的正确方法。我猜您正在使用 PHP,您可以在 password_hash 手册页上阅读相关内容。

    您真的不应该从散列密码倒退到密码。当您需要验证时,请致电password_verify。它使用相同的散列算法对用户的明文密码进行散列,并将其与散列后的密码进行比较。

    您可能想要撤消密码的另一种情况是用户丢失密码。相反,允许用户通过电子邮件链接、短信等方式创建新密码...

    以可解密格式存储密码会导致embarrassing incidents

    【讨论】:

    • 我刚刚找到了加密密钥。用这个可以解密密码吗?
    • 您找不到“密钥”,因为它不是加密的。这是一个哈希。实际上不可能扭转它。为什么要获取用户的密码?
    • 我浏览了该网站,发现它是使用 codeignitor 制作的。我找到了这个关于密码加密和解密的指南。 ellislab.com/codeigniter/user-guide/libraries/encryption.html
    • 我不知道您找到了什么键,但这不是您在问题中发布的那个字符串的键。该字符串是password_hash PHP 函数中记录的单向哈希。 $2a 表示它是使用单向哈希函数 bcrypt 制作的(搜索 here 以获取 2a
    • 再说一次,你为什么要这样做?你应该没有必要这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2021-05-30
    • 1970-01-01
    • 2022-01-13
    • 2011-07-30
    • 2011-07-14
    • 1970-01-01
    相关资源
    最近更新 更多