我正在制作一个用户数据库,我在考虑安全性,这让我思考,当我将在每个人身上都有唯一的用户盐时,拥有一个网站盐真的值得吗?
md5(GLOBAL_SALT . $password . $user_salt);vs
md5($password . $user_salt);我的想法是,如果网站遭到黑客攻击,黑客无论如何都可以访问全球盐。
发布于 2012-10-25 17:48:20
您正在讨论的内容也称为pepper。盐和胡椒有不同的用途:
盐可以防止彩虹桌的攻击。
这实际上取决于攻击者是否有权控制服务器,或者只有访问数据库(SQL注入)的权限(如果使用了pepper )。我最近写了一篇关于hashing passwords的教程,在其中我试图解释重要的几点。
还有其他事情需要考虑,比如MD5对于密码散列来说太快了,相反,应该使用像BCrypt这样的密钥派生函数。
https://stackoverflow.com/questions/13062633
复制相似问题