【问题标题】:Trying to understand the concept of salting a password试图理解加盐密码的概念
【发布时间】:2013-01-17 16:37:11
【问题描述】:

我知道,如果我们只是散列密码,黑客可以使用预先计算的散列密码表并将其与实际的散列密码表进行比较。据我了解,如果我们在散列之前添加一个随机字符串作为盐,预先计算的散列表将不起作用。

现在我的问题是,假设用户密码是“password”,我在其中添加 999 并在保存之前对字符串“password999”进行哈希处理。现在当用户返回我的站点时,我怎么知道我需要在他的密码中添加 999,然后才能将其与数据库中的散列值进行比较?我是否维护一个单独的表,其中包含每个用户名的所有盐?

【问题讨论】:

  • 你可能有盐从其他恒定的用户数据(如 id)计算出来,或者独立存储,后者更安​​全
  • 2Alexey:我认为随机盐的生成和存储比从其他常量计算更安全。

标签: passwords cryptography


【解决方案1】:

您需要将每个用户的盐值存储在密码旁边的单独中。

【讨论】:

  • ...或在同一列中;以类似于salt:hash 的格式存储散列密码是很常见的。两种方式都可以正常工作;就数据库而言,密码哈希无论如何都只是不透明的 blob。
猜你喜欢
  • 2013-09-22
  • 2022-01-22
  • 2018-11-09
  • 2019-02-10
  • 1970-01-01
  • 2016-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多