可能的重复:
是否可以解密 md5 哈希值?
是否可以逆转 sha1?
我问了这个问题:使用巨大的电子表格
并得到了很好的答案,我听从了建议。我用这个:http://splinter.com.au/blog/?p=86
我对 Excel 电子表格的一列中大约 300,000 个不同的元素进行了哈希处理
因为你可以这样做:
=SHA1HASH('The quick brown fox jumps over the lazy dog')
你会回来:
2fd4e1c67a2d28fced849ee1bb76e7391b93eb12
你就不能也向后退吗?
我是说,如果它每次都以相同的方式加密相同的文本,那有什么意义呢?
如果你知道哈希算法,是否可以倒退?
您能简单地向我解释一下哈希是如何工作的吗?如何将 20GB 转换为 40 个字符的哈希值? 20GB硬盘的哈希值需要很长时间吗?
一般回答
A 加密哈希函数不能轻易逆转。这就是为什么它有时也被称为单向函数。没有回头路了。
您还应该小心称其为“解密”。散列与加密不同。可能的散列值的集合通常小于可能的输入的集合,因此多个输入映射到相同的输出。
对于给定输出的任何哈希函数,您无法知道使用众多输入中的哪一个来生成该特定输出。
对于像 SHA1 这样的加密哈希值,甚至很难找到one产生该输出的输入。
反转加密散列的最简单方法是猜测输入并对其进行散列以查看它是否给出正确的输出。如果你猜错了,请再猜一次。另一种方法是使用彩虹桌.
关于使用哈希来加密 SSN
对于您的 SSN 用例,由于可能的输入值数量相对较少,因此攻击是可行的。如果您担心人们会访问 SSN,那么最好不要在您的应用程序中存储或使用 SSN,特别是不要将它们用作标识符。相反,您可以查找或创建另一个标识符,例如电子邮件地址、登录名、GUID 或只是递增的数字。使用 SSN 可能很诱人,因为它已经存在,乍一看似乎是一个唯一的不变标识符,但在实践中使用它只会引起问题。如果您出于某种原因绝对需要存储它,请使用带有秘密密钥的强非确定性加密,并确保该密钥的安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)