首页/安全/加密与证书速查/Argon2 口令散列
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

Argon2 口令散列

PHC 竞赛优胜方案并经 RFC 9106 标准化,含 Argon2d/i/id 三种变体;Argon2id 兼顾侧信道与 GPU 抵抗能力,是口令存储的推荐方案之一。

加密与证书速查安全更新于 2026-10-12
标准RFC 9106
变体Argon2d(抗 GPU)、Argon2i(抗侧信道)、Argon2id(混合,推荐)
参数内存 KiB、迭代次数、并行度
OWASP 参考m=19456 KiB、t=2、p=1 或 m=47104 KiB、t=1、p=1

Python 示例(argon2-cffi)

Python 示例(argon2-cffi)
from argon2 import PasswordHasher
ph = PasswordHasher(time_cost=2, memory_cost=19456, parallelism=1)   # 19 MiB
h = ph.hash('password')          # $argon2id$v=19$m=19456,t=2,p=1$...
ph.verify(h, 'password')
散列字符串自带参数,升级参数后可在用户下次登录时按需重算(渐进式升级),不必强制全员改密。

易错点

  • memory_cost 单位是 KiB,写成 19456 表示 19 MiB;按字节填会得到错误的开销
  • Argon2d 不适合存在侧信道暴露风险的服务端场景,若无特殊理由选 Argon2id

数据来源与参考

  • RFC 9106(Argon2)
  • OWASP Password Storage Cheat Sheet
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌