返回列表
密码存储最佳实践
自由客七维 2026-07-26 14:05 107

核心原则

存储用户密码必须遵循以下安全原则:

  • 绝不存储明文: 任何情况下都不能以明文形式保存密码。
  • 使用慢哈希: 选择 bcrypt、Argon2 等内置加盐的慢哈希算法。
  • 每个用户独立盐: 确保同一密码在不同用户中哈希不同。
  • 定期升级算法: 随着计算能力提升,适时增加成本因子或迁移到更强算法。

实施建议

  1. 使用成熟的语言库(如 PHP password_hash、Python passlib)。
  2. 存储哈希时,直接存储 `password_hash` 返回的完整字符串(含算法和盐信息)。
  3. 验证时使用 `password_verify`,无需手动处理盐。
  4. 为新用户注册和密码修改使用最新算法和适当成本。
  5. 对存量密码,可在用户登录时使用 `password_needs_rehash` 检查并更新。

常见误区

  • 使用 MD5/SHA 加盐代替慢哈希(仍可被快速破解)。
  • 自行实现加盐和迭代(应使用标准库)。
  • 成本因子设置过低或固定不变。

本工具生成的哈希完全符合上述最佳实践,可直接用于生产环境。