密码,盐和auths

RS7*_*RS7 2 php authentication passwords session salt

如果我有一个随机的,16个字符长的字母数字盐(不同的情况),每个用户生成和存储,我是否还需要一个站点范围的盐?

换句话说,这样好吗?

sha1($user_salt . $password)
Run Code Online (Sandbox Code Playgroud)

我应该这样做吗?

sha1($user_salt . $password . $site_salt)
Run Code Online (Sandbox Code Playgroud)

也,

目前,我有一个加密的cookie,用于查找数据库中的会话.在此会话中,有一个user_id和一个user_token.然后我使用user_id查询数据库 - 如果DB === user_token中的user_id + hash的sha1,则允许用户通过.

我在每个页面加载时对user_id进行第二次查询,这样如果我删除,禁止或更改用户的密码,该操作立即生效.

这就是我在这里通过网站和问题查看的内容.你怎么看?我错过了什么?

我需要添加角色检查,但这可能会添加另一个查询(第3个仅用于auth).有小费吗?

ale*_*lex 7

不,你不需要全场盐.盐被用来使彩虹桌无用.一个网站广泛盐可以使用,如果你真的想,但我不认为这是必要的.

我想如果你的数据库遭到入侵并且有人意识到你的密码是用盐进行的,那么他们就会进入下一个安全性较低的网站(除非你正在运行一个值得黑客入侵的网站 - 你可能不是:P)