好的,所以我明白为什么在散列之前加盐密码是个好主意。问题是,通常人们建议在密码中附加或附加盐,为什么不两者都做呢?
我的想法是,所以如果黑客先生掌握了数据库并想要获取人 x 的密码,他会想,大多数人建议附加或前置盐,所以让我们这样做.. 他生成了一个彩虹表密码+盐的所有组合,并尝试他的运气。如果这不起作用,他会做同样的事情,但盐 + 密码。
为了让攻击变得更加困难,为什么开发人员不更进一步,做'salt + password + salt',或者'reverse(salt) + password + salt',或者你可能会喜欢并开始切割密码/盐,开始在这里和那里放一些盐等等。
黑客能够找到密码的唯一方法是他是否可以访问源代码(了解在散列之前如何将盐编织到密码中)
进一步说明的是,人们建议在按键拉伸时至少进行 1000 次迭代,为什么不进行 1147、1652 等 :)
第二个注意事项,在查看哈希字符串时,是否可以计算出使用的哈希函数?