PBKDF2 派生与验证
明确设置 HMAC 哈希及迭代次数派生 PBKDF2 字节,导出完整参数记录,并在本地验证候选输入。
复现字节和参数
PBKDF2 使用密码字节串、盐值、HMAC 哈希、迭代次数和输出长度。本工具通过 Web Crypto 支持 SHA-1/256/384/512,密码输入可用 UTF-8、十六进制、Base64 或 Base64url,允许空密码和内部 NUL 字节。
JSON 记录是本工具明确的交换包装,并非通用密码哈希字符串。记录包含 algorithm=PBKDF2、version=1、hash、iterations、length、十六进制 salt 和 derivedKey。验证从记录读取参数,候选输入字节仍按所选密码编码解释。
生产设置与公开向量
初始控件采用 SHA-256、600000 次迭代、32 字节输出和随机 16 字节盐。这些是可修改的起点,并非通用安全处方。示例按钮使用刻意低成本的 SHA-1 RFC 6070 向量,并显示诊断;新密码系统不应直接采用该测试成本。
密码字节限 16 KiB,盐限 1 KiB,输出限 4096 字节。迭代次数为 1–5000000,且迭代次数×ceil(输出长度/HashLen) 不超过 10000000。Worker 可取消,最长运行 30 秒;高成本计算前会先检查记录中的参数。
参考
常见问题
新记录默认选择 SHA-1 吗?
不是。初始控件选择 SHA-256;保留 SHA-1 是为了复现既有应用和公开测试向量。
不匹配是否代表工具出错?
不是。验证计算完成但候选字节不能派生出记录密钥时,返回 matches=false;格式错误或成本超限会另行报错。
输入会上传或保存吗?
处理在浏览器中完成。工具不会将密钥、密码或内容放入 URL、本地存储或发送至处理 API。清除会移除可见输入与输出,但不保证安全擦除由浏览器管理的内存。