使用pbkdf2取消密码哈希

时间:2016-08-11 08:51:57

标签: security hash pbkdf2

我使用pbkdf2算法来散列密码。 为evey密码生成随机盐,并设置迭代次数 为了使计算持续约1秒钟。

我也在sambe缓冲区中保存salt和hash:

   -----------------------
   | SaltLen |     4     |
   -----------------------
   | Salt    | saltBytes |
   -----------------------
   | HashLen |     4     |
   -----------------------
   | Salt    | hashBytes |
   - ---------------------

我的问题是这个散列密码没有链接到一个用户(用户可以有多个密码),我需要有可能只使用密码本身取消密码。 我看到的唯一方法是使用数据库中的每个盐来对密码进行哈希处理,直到找到相同的哈希值(每个盐只需1秒)。

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

处理密码等许可证是没有意义的。

PBKDF2&迭代只对客户端的检查有意义。在服务器端,他们只允许在您的服务器上执行DOS攻击。无论如何,在服务器上,您只需为每个请求添加1秒的延迟。

您不必哈希它们,因为只有数据库中的许可证才被认为是有效的。破解你的服务器并窃取它们没有任何意义。

要检查正确的许可证条目,您只需将许可证的数据库条目ID添加到许可证本身,并确切知道要检查的条目。