如果我要在我的网站上留下一个SHA2系列哈希 - 它被认为安全多长时间?在我确定有人会发现碰撞并知道什么是哈希之前,我有多长时间了?
我知道时间量将取决于寻求打破它的人的计算能力。它还取决于字符串的长度,但我很好奇哈希是多么安全。
由于我们中的许多人都在运行Web服务器,所以我们不得不为有人可能一直到存储用户哈希的数据库的那一天做好准备。那么,将服务器安全性移开,然后你有什么?
对于我与之交谈的很多人来说,这是一个稍微理论化的领域,所以我希望能够获得更多关于破解平均期望的信息。
hash('sha256', 'mytext');
hash('sha256', 'thisismytext');
hash('sha256', 'xx$1sw@the4e');
hash('sha256', 'thisismyslightlylongertext');
db695168e73ae294e9c4ea90ff593e211aa1b5693f49303a426148433400d23f
b62c6ac579abf8a29e71d98aeba1447c66c69002cfd847b148584f886fd297ef
501f1b26abbc75594d06f0935c8bc502d7bcccf5015227bd6ac95041770acb24
3debc12761bbeb5b4460978ac2be5b104163de02ea799f0705399d0e5b706334
答案 0 :(得分:17)
答案 1 :(得分:4)
托马斯的答案已经非常详细,但我会添加这个标准:
打破哈希有什么好处?
在街上丢一分钱。在有人拿起它之前需要多长时间? 现在降低20美元的账单并进行相同的实验。
如果您要保护的内容值低,则可能没有人会尝试破解哈希值。
如果打破哈希的价值和好处是高,只有从亚马逊云购买必要的计算能力才能生存。他们现在甚至出售GPU。
答案 2 :(得分:0)
您假设没有rainbow table定位您的设置可用,这不是给定的。 IMNSHO,认为它在泄漏的那一刻就被打破了。即使使用bcrypt,您也无法确定在哈希公开之前已完成了多少工作。