【发布时间】:2012-06-07 12:45:40
【问题描述】:
这是我的问题:根据您的经验,对存储在 PHP 文件中的每个哈希值进行哈希处理是否更安全,或者对每个哈希对象使用不同的盐值并将其存储在数据库中是否更好用那个物体?
【问题讨论】:
-
令人惊讶的是,这个问题引发了相当不错的讨论,而且没有人赞成
这是我的问题:根据您的经验,对存储在 PHP 文件中的每个哈希值进行哈希处理是否更安全,或者对每个哈希对象使用不同的盐值并将其存储在数据库中是否更好用那个物体?
【问题讨论】:
盐只有在每个散列字符串都不同时才有意义。
所以,是的,创建额外的列并将 random 盐放在那里
【讨论】:
每个哈希使用不同的盐;否则散列对象容易受到暴力攻击。
【讨论】:
如果您将密码存储在数据库中,则需要在每个条目中混合一些不同的内容,这样您就无法在数据库中轻松找到匹配的密码。您可以使用随机盐,也可以只包含用户名(如果它是不可变的)或其他一些不可变的唯一字段。
如果您使用用户名之类的东西,那么您还应该做一些对您的实施来说是独特的事情,因为可能有其他网站使用相同的算法,因此有机会发现匹配项。严格来说,它不一定是你包含在哈希中的盐,它可能只是你的算法工作方式的不同,但通常只添加一个全局盐是最简单的。如果您使用的是 per entry salt,则无需添加另一个全局 salt。
对于这些类型的问题,通常最容易想到黑客可能使用的攻击类型。请记住,您实际上并不是在尝试保护您的数据(因为您的数据库已被入侵),您实际上是在尝试阻止黑客获取您网站上使用的凭据并在其他网站上使用它们。
【讨论】: