密码盐与密码哈希分开存储?

时间:2012-11-19 17:30:09

标签: php passwords password-encryption

  

可能重复:
  what is best possible way of salting and storing salt?
  Improve password hashing with a random salt

假设使用正确的密码哈希算法并为每个密码生成不同的盐...

与密码哈希分开存储盐是否存在安全风险?对于前者在数据库表中,将密码哈希值存储在一列中,将密码盐存储在单独的列中吗?

通过使用特定算法,我看到了将salt嵌入到密码哈希本身的策略。稍后可以从密码哈希中提取salt。这更安全吗?

1 个答案:

答案 0 :(得分:2)

从我读过的所有内容中,将密码哈希和密码盐存储在不同的列中没有任何问题,这是最常用的方法。

身份验证的基本方法应该是这样的:

  1. 使用用户提供的用户名或电子邮件
  2. 检索user_id和password_salt
  3. Concat用户提供的密码输入包含检索到的盐
  4. 对组合字符串
  5. 使用散列算法
  6. 根据数据库中的哈希检查创建的哈希值