【问题标题】:Do you recognize this password hashing format?你认识这种密码散列格式吗?
【发布时间】:2011-09-08 01:21:38
【问题描述】:

我正在尝试对遗留 PHP 应用程序的密码方案进行逆向工程,因此我可以将密码移植到将替换它的新系统。该应用程序的密码以两种格式存储,新的和旧的。较新的只是简单地使用 crypt() 和盐。较旧的似乎不再有任何支持代码(至少在版本控制中没有),并且没有提示可能使用了什么。我有一个旧式帐户,我可能知道密码,但我不知道如何检查。

密码存储格式如下:

$1$f1KtBi.v$nWwBN8CP3igfC3Emo0OB8/

它似乎是三个字段,由$ 分隔:1f1KtBi.vnWwBN8CP3igfC3Emo0OB8/。第一个字段始终为1。第二个和第三个字段总是匹配正则表达式[a-zA-Z0-9/.]+。第二个字段总是有 8 个字符,第三个字段总是有 22 个。

您以前见过这种密码存储方案吗?知道可能使用了什么散列机制吗?

【问题讨论】:

  • 你不能阅读散列输入的源并将其与旧的比较吗?

标签: php hash passwords


【解决方案1】:

这是crypt()[docs] 函数的输出。

1 表示它在内部使用了 MD5 算法。

【讨论】:

    【解决方案2】:

    这很可能是使用crypt() 生成的,尤其是使用 MD5:

    CRYPT_MD5 - 以 $1$ 开头的十二个字符盐的 MD5 散列

    祝你好运找到盐。

    【讨论】:

    • 我相信盐是和密码一起存储的。
    猜你喜欢
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    相关资源
    最近更新 更多