我在出版物中看到过这段代码。生成11次哈希会带来什么好处?由于熵的原因,它比 1 更安全吗?
var hash = sha512(salt+":"+user+":"+passwd);
for(i = 0; i < 10; i++)
hash = sha512(salt+":"+user+":"+passwd);
最佳答案
此示例中的最终哈希值并不比经过一次哈希处理更安全(甚至没有任何不同)。我从提供的代码中看到的唯一效果是它需要更长的时间。
关于一些有关重复散列的链接、评论和其他答案,只有当后续散列函数应用于前一个散列的输出时,这才有意义。提问者的示例只是一遍又一遍地散列相同的数据,产生相同的结果。
这段代码可能更有效:
var hash = sha512(salt+":"+user+":"+passwd);
for(i = 0; i < 10; i++)
hash = sha512(salt+":"+user+":"+passwd+":"+hash);
关于javascript - 多次运行 sha512 哈希函数的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40749162/