首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >破解一个哈希需要多长时间?

破解一个哈希需要多长时间?
EN

Stack Overflow用户
提问于 2021-03-07 15:49:46
回答 1查看 598关注 0票数 0

我想计算一下破坏SHA-256散列所需的时间。因此,我研究并发现了以下计算。如果我有一个较低字母的密码和长度的6 chars,我会有26^6密码对吗?

为了计算这个数字除以哈希率的时间,我想。因此,如果我有一个RTX 3090,哈希率将是120 MH/s (1.2*10^8H/s),而不是我需要计算26^6/(1.2*10^8)才能在秒内得到时间,对吗?

这个想法是对还是错?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-07 16:30:54

是的,但是小写的拉丁文6字符串也够短的,你可以计算它一次,然后把它放到数据库中,这样你就可以用O(1)来查找它。只有300多个条目。尽管如此,考虑到你在搜索的前半部分找到答案的可能性是50%,破解的速度太快了,除非你经常这样做,否则你甚至都不会费心。你甚至不需要一个特别花哨的GPU来做这种规模的事情。

请注意,在许多情况下,一个6个字符串也可以是一个5个字符串,所以您需要添加26^6 + 26^5 + 26^4 +…,但是所有这些加在一起只会引发320米左右的散列。这是一个很小的空间。

加上大写字母、数字和容易输入的符号,你就能得到96^6 ~780 B。另一方面,只要再加3个小写字母(总共9个),你就能得到26^9 ~ 5.4T。对于随机字符串上的蛮力,长的比复杂的要强大得多。

对于您的具体问题,请注意,您如何实现这一点确实很重要。如果您不以最大化GPU的方式编写代码,您就不会得到这类哈希率。例如,编写简单的代码,每次向GPU发送一个值到散列,然后比较CPU上的结果可能非常慢(在某些情况下,比在CPU上完成所有工作要慢得多)。高效地设置内存并最大化GPU可以并行完成的任务非常重要。如果您不熟悉这种编程,我建议您使用或研究像开膛手约翰这样的工具。

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

https://stackoverflow.com/questions/66518364

复制
相关文章

相似问题

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