krx*_*krx 20 database passwords hash password-protection
我一直在阅读盐渍和散列密码的好处,但有一件事我仍然没有...
当我为每个用户提供随机盐时,当我尝试对他们进行身份验证登录时,如何知道盐是什么?
所以,如果我这样做..
HASHPW = PW.RANDOMNUMBER
我可以将随机数存储在数据库中,但这似乎会杀死添加盐的整个点......不是吗?我也可以为每个盐使用一个非随机数,但是那也会杀死盐点,因为如果他们弄明白,他们拥有我所有的用户密码......
我刚刚开始学习PHP和MySQL,这样的抽象事情让我感到困惑
谢谢!
Rex*_*x M 19
它并没有破坏独特盐的储存目的.唯一盐的目的是保护整个用户存储库免受攻击,而不是给定的单个用户.如果攻击者危害您的数据库并且确定足以破解特定用户的帐户,他们就会.我们无能为力.但他们必须花费大量的计算机时间才能这样做 - 足以让每个用户花费那么多时间是不可行的- 从而保护所有用户.与此相反,对所有用户使用相同的盐 - 一旦攻击者拥有盐,就可以在相对较短的时间内针对每个用户重新运行相同的表/进程.