PBKDF2 密钥派生:把「密码 + 盐」经过多轮 HMAC 迭代,拉伸成固定长度的密钥。迭代次数越高,暴力猜密码越慢。基于 crypto-js,浏览器本地运行,输出 Hex。
| 参数 | 说明 |
|---|---|
| 密码 / 盐 | 都按 UTF-8。盐生产环境要用每用户随机值(≥16 字节) |
| 迭代次数 | 越大越慢越安全。OWASP 建议 PBKDF2-SHA256 ≥ 600,000;本工具上限 5,000,000(防浏览器卡死) |
| 密钥长度 | 输出位数,需为 8 的倍数 |
| PRF | 底层 HMAC 哈希:SHA1(RFC 2898 默认)/ SHA256 / SHA512。必须和对端一致 |
crypto.pbkdf2、Java PBKDF2WithHmacSHA256 在相同参数下一致。注意很多库默认 PRF 是 SHA1,对不上多半是这里。相关:bcrypt · HMAC 计算 · SHA 计算 · AES 加解密 · 随机密码。
PRF 默认对不上常是问题所在(多数库默认 SHA1);存密码优先 bcrypt / Argon2。