什么是 Argon2?
Argon2 是一种密码哈希算法,设计目标是提高离线破解密码的成本。它将重复计算与可配置的内存成本结合起来,使攻击者每猜测一个密码都需要同时付出时间和内存。
为什么 Argon2id 通常是默认选择:
- 对大多数密码存储系统而言,它比单独使用 Argon2i 或 Argon2d 更好地平衡了对侧信道攻击和 GPU 破解的抵抗能力
- 编码后的输出会把算法、版本、内存、迭代次数、并行度、盐和哈希存入一个可移植字符串
- 唯一的随机盐可以防止相同密码生成相同的存储哈希
- 随着你的验证环境变快,可以提高内存和迭代设置
如何使用此工具:
- 输入要进行哈希处理的密码。
- 保留生成的盐,或创建新的随机盐。
- 选择 Argon2 变体,并根据将要验证哈希的系统调整内存、迭代次数、并行度和哈希长度。
- 生成编码后的哈希,并将完整字符串存储到你的应用数据库中。
安全提示:
- 不要存储或记录明文密码。
- 为每个密码使用新的随机盐。
- 仅当你的验证器也拥有同一个 secret 时,才使用可选 secret;否则之后将无法验证该哈希。
- 优先使用真实用户可接受的登录延迟范围内最高的内存和迭代设置。