首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解密rfc2898密码

解密rfc2898密码
EN

Stack Overflow用户
提问于 2015-11-19 05:44:57
回答 3查看 2.1K关注 0票数 0

我正在开发中,我需要测试我的登录/密码api。

问题是数据库中的密码是加密的。

我有以下信息。

  • 钥匙
  • 迭代

这足以恢复密码吗?

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-19 09:02:26

我想你误解了密码API的工作原理。您无法反转正确的散列密码,但可以根据存储的哈希验证输入的密码。

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

票数 3
EN

Stack Overflow用户

发布于 2015-11-19 08:35:50

您无法逆转PBKDF2,但您可以强行使用普通密码来查看其中是否有匹配的密码。如果每次使用随机盐,那么您将需要对每个密码独立地执行此操作。如果使用了大量的迭代计数,那么就为花费很长时间做好准备。

票数 2
EN

Stack Overflow用户

发布于 2016-02-02 06:33:02

首先,你应该重新设置它。

其次,只有在密码薄弱(假设正确实现了PBKDF2)的情况下,您才能恢复它,并且知道它使用的是哪个HMAC (可能是PBKDF2-HMAC-SHA-1 -使用已知的密码进行测试),或者您愿意花时间尝试几个并希望。

尝试一个像oclHashcat这样的工具,它是为密码破解而设计的-- 注意示例列表末尾的PBKDF2泛型,最好有一个或多个好的GPU。

或者,如果您只是在测试密码API,您可以在我的Github存储库上运行测试向量,看看结果是否正确。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33796138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档