Argon2 验证器
检查密码是否与 Argon2 哈希匹配。粘贴密码和 PHC 字符串,例如 $argon2id$v=19$m=65536,t=4,p=1$,工具会读取变体、内存、迭代次数、通道数和盐值,重新计算哈希并告知是否匹配。它支持版本 19 的 Argon2id、Argon2i 和 Argon2d,最多支持 64 MiB 内存、4 次迭代和 8 个通道,并且绝不会回显密码。
常见问题
Argon2 验证如何运作?
工具会解析 PHC 字符串,读取变体、版本、内存、迭代次数、并行度和盐值。然后,它会使用这些确切设置对你的密码进行哈希,并将结果与已存储的哈希进行比较。
可以检查哪些哈希?
工具会检查 PHC 字符串格式的版本 19 (0x13) Argon2id、Argon2i 和 Argon2d 哈希。这些哈希由 PHP、libsodium、argon2-cffi、Node.js argon2 包以及本网站的 Argon2 Generator 生成。
有哪些限制?
哈希最多可使用 64 MiB 内存 (m=65536)、4 次迭代和 8 个通道。这些限制涵盖了 PHP 的默认设置 m=65536,t=4,p=1,以及 argon2-cffi 的默认设置 m=65536,t=3,p=4。超出限制的哈希会被拒绝,并附上说明。
可以用已发布的示例进行测试吗?
参考实现的测试哈希 $argon2id$v=19$m=65536,t=2,p=1$c29tZXNhbHQ$CTFhFdXPJO1aFaMaO6Mm5c8y7cJHAph8ArZWb2GRPPc 对应密码 password 和盐值 somesalt。输入两者后,结果会显示匹配。
为什么我的哈希因无效而被拒绝?
字符串必须以 $argon2id$、$argon2i$ 或 $argon2d$ 开头,接着是 v=19,然后是以逗号分隔的 m、t 和 p,最后是 Base64 盐值和哈希。复制时带有空格、引号或缺少部分内容的哈希会被拒绝。不支持没有 v= 部分的旧版 16 哈希。
我的密码会保密吗?
会。响应中只包含检查结果和你输入的哈希,绝不包含密码。任何内容都不会被存储或记录。
结果显示不匹配,是不是说明哈希已损坏?
通常表示密码不同,例如末尾多了空格或字母大小写不同。有些系统还会在哈希处理前添加 pepper 或密钥,而此验证器无法获知这些内容。
检查需要多长时间?
检查所需的计算量与创建哈希相当,在上述限制内通常远少于一秒。因此,内存设置过大的请求会被拒绝。
此工具支持 libsodium 哈希吗?
支持,libsodium 的 crypto_pwhash_str 会生成 Argon2id PHC 字符串。它的交互式预设使用 64 MiB 内存和 2 次迭代,可在此验证;中等和敏感预设则超出 64 MiB 的限制。
可以在这里检查 bcrypt 哈希吗?
不可以。对于以 $2a$、$2b$ 或 $2y$ 开头的哈希,请使用 Bcrypt Verifier。