首页/安全/加密与证书速查/PBKDF2 口令派生
加密算法基础95 条

PBKDF2 口令派生

基于 HMAC 的迭代式口令派生(RFC 8018 定义于 PKCS#5 v2.1),通过大量迭代抬高离线破解成本;迭代参数需要随硬件进步持续上调。

加密与证书速查安全更新于 2026-10-12
标准RFC 8018 §5.2
结构HMAC 迭代 + 盐
OWASP 2023 参考PBKDF2-HMAC-SHA256 600,000 次;SHA-512 210,000 次;SHA-1 1,300,000 次
盐建议 16 字节随机

两种常见用法

两种常见用法
# 1)文件加密:口令经 PBKDF2 派生密钥
openssl enc -aes-256-cbc -pbkdf2 -iter 600000 -salt -in plain.txt -out data.enc
# 2)应用内口令存储(Python)
import hashlib
key = hashlib.pbkdf2_hmac('sha256', b'password', salt, 600000, dklen=32)
许多旧系统沿用 1000-10000 次迭代,早已低于当前建议;参数升级要结合存量校验迁移策略。

易错点

  • PBKDF2 对 GPU/ASIC 的抵御能力弱于内存硬方案,口令存储场景优先 Argon2id 或 scrypt
  • 迭代次数写死在代码里难以升级,建议做成可配置并随散列一起存储参数

数据来源与参考

  • RFC 8018 §5.2(PBKDF2)
  • OWASP Password Storage Cheat Sheet
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌