1

我正在创建一个用户数据库,我正在考虑安全性,这让我想到,当我要对每个人都拥有独特的用户盐时,拥有一个站点盐真的值得吗?

md5(GLOBAL_SALT . $password . $user_salt);

对比

md5($password . $user_salt);

我的想法是,如果该网站被黑客入侵,黑客无论如何都可以访问全球盐。

4

1 回答 1

0

你说的也叫辣椒。盐和胡椒有不同的用途:

  • 盐可以防止彩虹表攻击。
  • 在某些情况下,辣椒可以防止字典攻击。

它实际上取决于攻击者是否可以控制服务器,或者如果使用辣椒,则只能访问数据库(SQL 注入)。我最近写了一篇关于散列密码的教程,我试图解释其中的要点。

还有其他一些事情需要考虑,例如 MD5 对密码散列来说太快了,相反应该使用像BCrypt这样的密钥派生函数。

于 2012-10-25T09:48:20.397 回答