从https://stackoverflow.com/questions/6776050/how-long-to-brute-force-a-salted-sha-512-hash-salt-provided开始,要用蛮力策略破坏SHA-512,需要3,17 *10^64年.这几乎是不可能的。
但我不知道情况如何。如果SHA-512像上面的链接那样强大,那么每个人都使用SHA-512并保持他们的私钥安全,那么一切都是安全的,没有人可以解密任何信息。
另一方面,我听说,由于计算能力的原因,用最先进的技术来传递信息只需要几年的时间。我对整个情况感到困惑。我错过了什么?
发布于 2016-05-13 03:39:59
首先,SHA-512是一种哈希算法而不是加密算法,因此谈论“解密SHA-512散列”是没有意义的。当您的链接声明时,您正在尝试查找冲突,例如,提供与已知哈希值相同的输入。如果您有一个未知的、大的、随机的输入,这将成为一个详尽的搜索,如您的链接中首先描述的那样。
不幸的是,人们不只是对未知的、大的、随机的输入使用散列。他们还在密码上使用它们。密码是非随机的,小的,有限的字符集,通常是众所周知的.通过数百万次尝试就可以猜出密码,使用一个通用密码列表、一种给定语言中所有单词的字典以及一些简单的转换。
沙-512是一种不太适合存储密码的快速散列,哈希猫每秒可以执行4.14亿SHA-512散列,所以如果密码是常见的,它将在不到一秒钟的时间内被破解。
如果您想要存储密码,请考虑设计像PBKDF2或bcrypt这样的缓慢散列。有关更多详细信息,请参阅CrackStation。
https://security.stackexchange.com/questions/123162
复制相似问题