zh-Hans v
en zh tw

Argon2 哈希生成与验证

生成 Argon2id、Argon2i、Argon2d 的 PHC 字符串,限制浏览器内存并验证版本 19 哈希。

完整 PHC 字符串

生成结果使用 $argon2id$、$argon2i$ 或 $argon2d$,包含 v=19、内存 m、迭代 t、并行参数 p、盐值和哈希。验证从字符串读取参数,在分配内存前检查大小,再返回 matches=true 或 false。不接受版本 16 哈希。

默认 Argon2id 配置为 65536 KiB(64 MiB)、t=3、p=4、32 字节输出和随机 16 字节盐。KiB 表示 1024 字节;即使只在一个 Worker 中执行,并行参数也会影响哈希。

可复现输入与计算限制

密码使用 UTF-8,不去空格、不做规范化,支持空字符串。自定义十六进制盐须有 8–64 字节。普通输入使用固定版本 hash-wasm;其包装不接受的合法空密码使用既有 noble-hashes 实现,并与独立向量对照。

内存最多 262144 KiB,且至少为 8×p;t 为 1–10,p 为 1–8,m×t 不超过 786432,输出为 4–64 字节。取消或 30 秒超时会终止 Worker;生产设置仍需针对实际服务测量。

参考

常见问题

默认选择哪种变体?

默认选择 Argon2id。其他变体用于复现既有系统和测试向量,并非可以互换。

输出是可逆加密吗?

不是。Argon2 用于密码哈希或密钥派生;验证必须提供候选密码。

输入会上传吗?

不会。处理在浏览器中执行,引擎从本站加载;工具不将输入发送至处理 API,也不保存输入。清除可移除可见输入与结果。

其他语言