CoderTools

PBKDF2 密钥派生

从密码生成安全的加密密钥

🔒 100% 本地处理您输入的数据完全在浏览器中处理,不会上传到任何服务器。
OWASP 2023 建议 SHA-256 最少使用 310,000 次迭代。迭代次数越高 = 安全性越强,但性能越慢。
输出选项

PBKDF2 文档

PBKDF2 (基于密码的密钥派生函数 2) 是 RFC 8018 定义的加密标准。它通过迭代哈希将密码转换为安全的加密密钥,使暴力破解攻击的计算成本极其昂贵。

PBKDF2 被广泛应用于安全协议中,包括 WPA2 WiFi 加密、iOS 数据保护、macOS FileVault 以及众多企业级密码存储系统。其 NIST 认证地位使其成为合规敏感应用的首选方案。

PBKDF2 工作原理

PBKDF2 通过迭代应用伪随机函数 (默认为 HMAC-SHA256) 来生成派生密钥:

  • 以密码、盐值、迭代次数和期望密钥长度作为输入
  • 以密码为密钥、盐值+计数器为消息执行 HMAC 运算
  • 重复 HMAC 操作指定的迭代次数
  • 连接中间结果生成最终派生密钥

OWASP 推荐迭代次数 (2023)

开放 Web 应用程序安全项目 (OWASP) 根据哈希算法强度提供最低迭代次数指导。这些数值经过校准,确保能够充分抵御现代硬件攻击:

哈希算法 最低迭代次数 推荐值
PBKDF2-SHA256 310,000 600,000+
PBKDF2-SHA384 210,000 500,000+
PBKDF2-SHA512 120,000 210,000+
PBKDF2-SHA1 1,300,000 不推荐

常见使用场景

  • 从用户密码派生 AES/ChaCha20 加密密钥
  • 认证系统中的密码存储和验证
  • 从主密码生成确定性密钥 (密码管理器)
  • 磁盘加密和安全容器的密钥派生

KDF 对比:PBKDF2 vs Bcrypt vs Argon2

特性 PBKDF2 Bcrypt Argon2
标准 RFC 8018 OpenBSD RFC 9106
内存硬化 有限 (4KB)
GPU 抗性 中等
最佳使用场景 FIPS/NIST 合规 旧系统 新应用

安全最佳实践

  • 始终使用至少 16 字节 (128 位) 的加密随机盐值
  • 盐值与派生密钥一起存储 - 它不是秘密
  • 每年增加迭代次数以跟上硬件进步的步伐
  • 对于需要内存硬化以防御 GPU 攻击的新系统,考虑使用 Argon2id

技术参考

相关工具

快捷菜单

暂无访问记录