在PHP与数据库中,密码散列和盐的出现位置是否有优势?似乎在数据库内部发生的过程将是最佳解决方案;因为Web服务器和数据库只需要交换密码而不是盐。
答案 0 :(得分:4)
将盐存储在数据库中是可以的。这样做有一个好处,因为你想为每个用户使用不同的随机盐。
我建议在应用程序中进行散列处理。
原因是如果在SQL表达式中进行散列,并且在数据库服务器上使用查询日志记录,则可能会在查询日志中存储用户密码的明文样本。
答案 1 :(得分:0)
如果你使用的东西比简单的哈希+盐更好,比如PBKDF2,那么你将需要involve PHP at this point AFAIK。所以就最佳位置而言,对我来说,最好的位置在代码中,因为这是您可以使用“最佳”密码散列方法的地方。