解密rfc2898密码

时间:2015-11-19 05:44:57

标签: hash cryptography salt pbkdf2

我正处于开发阶段,我需要测试我的登录名/密码api。

问题在于数据库密码已加密。

我有以下信息。

  • 迭代

这足以恢复密码吗?

顺便说一下,如果这样做有帮助,我也可以编辑这些值。

3 个答案:

答案 0 :(得分:3)

我认为您误解了密码API的工作原理。您无法撤消正确的哈希密码,但可以根据存储的哈希验证输入的密码。

要验证输入的密码,您需要再次计算哈希值,并使用与创建第一个哈希值相同的参数。然后你可以比较两个哈希,如果匹配,密码是相同的。

答案 1 :(得分:1)

您无法撤消PBKDF2,但您可以强制使用常用密码以查看是否有任何匹配。如果每次都使用随机盐,那么您将需要单独为每个密码执行此操作。如果使用大的迭代计数,那么准备它需要很长时间。

答案 2 :(得分:0)

首先,你应该重置它。

其次,当且仅当密码较弱时才能恢复(假设正确实施了PBKDF2),并且您知道它使用了哪个HMAC(可能是PBKDF2-HMAC-SHA-1 - 使用已知密码进行测试),或者你愿意花时间尝试几个并希望。

尝试使用专为密码破解而设计的oclHashcat工具 - note PBKDF2 generic at the end of the list of examples,最好使用一个或多个优质GPU。

或者,如果您只是测试密码API,则可以在my Github repository处运行测试向量,看看您的结果是否正确。