【发布时间】:2011-09-08 01:21:38
【问题描述】:
我正在尝试对遗留 PHP 应用程序的密码方案进行逆向工程,因此我可以将密码移植到将替换它的新系统。该应用程序的密码以两种格式存储,新的和旧的。较新的只是简单地使用 crypt() 和盐。较旧的似乎不再有任何支持代码(至少在版本控制中没有),并且没有提示可能使用了什么。我有一个旧式帐户,我可能知道密码,但我不知道如何检查。
密码存储格式如下:
$1$f1KtBi.v$nWwBN8CP3igfC3Emo0OB8/
它似乎是三个字段,由$ 分隔:1、f1KtBi.v 和nWwBN8CP3igfC3Emo0OB8/。第一个字段始终为1。第二个和第三个字段总是匹配正则表达式[a-zA-Z0-9/.]+。第二个字段总是有 8 个字符,第三个字段总是有 22 个。
您以前见过这种密码存储方案吗?知道可能使用了什么散列机制吗?
【问题讨论】:
-
你不能阅读散列输入的源并将其与旧的比较吗?