首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我只知道一部分密码和一部分哈希,是否有可能得到完整的密码?

如果我只知道一部分密码和一部分哈希,是否有可能得到完整的密码?
EN

Security用户
提问于 2016-06-23 17:11:47
回答 2查看 1.6K关注 0票数 1

我正在努力学习更多关于哈希和密码学的知识,并尝试自己的方法,但我似乎被困在了这个问题上。

正在使用的哈希函数是SHA1。

如果我试图确定密码,并且知道密码的最后X字符是:endofpassword#

我知道哈希的开头是:e921a7cde9e64d612b,而不是散列的其他字符,是否仍然可以确定密码,您将为此使用什么工具?

我相信哈希猫不适合这种攻击,但我可能错了。

EN

回答 2

Security用户

发布于 2016-06-23 17:36:56

考虑到我正确地阅读了您的问题,您知道SHA1散列的第一部分,然后是散列后面的纯文本字符。

要成功完成此攻击,您需要编写一个脚本,该脚本将密码猜测为Password1! + randombytes#,并使用SHA1对完整组合进行散列,然后进行检查,以确保猜测的密码的哈希开始等于e921a7cde9e64d612b,并将其添加到潜在密码列表中。

但是,您提到了使用hashcat,但是,由于上面提到的攻击方法的性质,用您选择的语言编写一个简单的脚本来完成攻击会更容易。

简而言之,攻击是可能的,但会更困难,因为您没有完整的散列。

票数 1
EN

Security用户

发布于 2016-06-23 18:16:06

知道部分密码会给你建立一个可能的密码列表的良好开端,但这可能是一个庞大的列表,取决于最大长度和字符集。假设这是一个最大的50个字符,你有14个,在未知的范围内,剩下36个字符的熵值。

通过了解散列的一部分,您可以使许多哈希无效,但如果没有整个散列,则需要搜索整个未知范围,以查找与哈希部分匹配的内容。这需要相当长的时间,即使有GPU帮助(像oclHashCat这样的工具),您也在谈论几十年的工作,因为您知道的哈希部分没有加快速度;您需要运行哈希,然后将其与您的片段进行比较。您也不能在找到匹配的匹配时立即停止,因为您无法知道这是唯一的匹配,因此必须耗尽整个空间。

如果只有一次匹配就耗尽了空间,您已经找到了密码。如果有多个结果,则没有找到密码。我认为“是否仍有可能确定密码”的答案是一个坚实的“可能”,因为只有当你检查后,你才会知道是否有一个可能的密码。

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

https://security.stackexchange.com/questions/127982

复制
相关文章

相似问题

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