2

这是我的问题:根据您的经验,对存储在 PHP 文件中的每个哈希值进行哈希处理是否更安全,或者对每个哈希对象使用不同的盐值并将其与该对象一起存储在数据库中是否更好?

4

3 回答 3

5

盐只有在每个散列字符串都不同时才有意义。

所以,是的,创建额外的列并在那里放随机

于 2012-06-07T03:58:10.533 回答
1

每个哈希使用不同的盐;否则散列对象容易受到暴力攻击。

于 2012-06-07T03:58:25.223 回答
0

如果您将密码存储在数据库中,则需要在每个条目中混合一些不同的内容,这样您就无法在数据库中轻松找到匹配的密码。您可以使用随机盐,或者您可以只包含用户名(如果它是不可变的)或其他一些不可变的唯一字段。

如果您使用用户名之类的东西,那么您还应该做一些对您的实施来说是独一无二的事情,因为可能有其他网站使用相同的算法,因此有机会发现匹配项。严格来说,它不一定是你在哈希中包含的盐,它可能只是你的算法工作方式的不同,但通常最简单的是添加一个全局盐。如果您使用的是每个条目的盐,则无需添加另一个全局盐。

对于这些类型的问题,通常最容易想到黑客可能使用的攻击类型。请记住,您实际上并不是在尝试保护您的数据(因为您的数据库已被入侵),您实际上是在尝试阻止黑客获取您网站上使用的凭据并在其他网站上使用它们。

于 2012-06-07T04:42:08.580 回答