Argon2 哈希生成器
根据密码或消息生成标准的 RFC 9106 Argon2id、Argon2i 或 Argon2d 哈希,支持自定义内存开销、迭代次数和并行度。完全在浏览器中运行,无需上传至服务器。
输入
Argon2id(推荐)是兼具抵御侧信道攻击和 GPU 攻击的混合变体。Argon2i 抵御侧信道攻击;Argon2d 最大化抵御 GPU 攻击。
哈希过程中使用的内存大小 (KiB)。OWASP 当前推荐的最小值为 19456 KiB (19 MiB)。
内存遍历遍数(时间成本)。
并行通道数量。
派生密钥的长度(字节)。通用默认值为 32 字节(256 位)。
默认自动生成随机盐(推荐)。
PHC 编码字符串包含变体、参数和盐值。
输出
用于此哈希的十六进制编码盐值。
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/argon2-hash-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"password": "correct horse battery staple",
"variant": "argon2id",
"memoryCost": "19456",
"iterations": "2",
"parallelism": "1",
"hashLength": "32",
"saltMode": "custom",
"customSalt": "argon2-tool-salt",
"outputFormat": "encoded"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `argon2-hash-generator` tool (Argon2 Hash Generator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/argon2-hash-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Argon2 哈希生成器 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。
| 每次 API/MCP 调用费用 | 5 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
此工具的作用
它根据您输入的密码或消息计算真正的 Argon2 哈希 — Argon2id、Argon2i 或 Argon2d,如 RFC 9106 所规定,支持可配置的内存开销、迭代次数、并行度、哈希长度和盐值。输出可用作 PHC 编码字符串(大多数库预期的便携式格式 $argon2id$v=19$m=...,t=...,p=...$salt$hash)、十六进制或 Base64 格式。
什么是 Argon2?
Argon2 是一个内存硬密钥派生函数 — 2015 年密码哈希竞赛的获胜者,也是目前存储前进行密码哈希的最佳实践选择(根据 OWASP)。与普通哈希函数不同(MD5、SHA-256),Argon2 故意设计得很慢且内存密集,这使得暴力破解和 GPU/ASIC 破解攻击成本高得多,同时又不会明显降低单次合法登录检查的速度。
Argon2id(这里的默认值,也是几乎所有用例的推荐变体)是其他两个的混合体:对 GPU 破解攻击(如 Argon2d)和侧信道时序攻击(如 Argon2i)都具有抵抗力。Argon2i 强调侧信道抵抗能力;Argon2d 强调最大的 GPU/ASIC 抵抗能力,但对某些侧信道攻击更容易受攻击 — 通常用于加密货币或非交互式场景而非密码存储。
参数说明
- 内存开销 (m),单位为 KiB — 计算使用的 RAM 量。越高越安全但速度越慢。19456 KiB(19 MiB)是 OWASP 当前对交互式使用(如登录表单)的最低推荐值。
- 迭代次数 (t) — 对该内存进行多少次遍历。在安全性和速度之间取舍。
- 并行度 (p) — 算法内部计算划分为的独立通道数。这改变派生输出(这是真正的 Argon2 参数,而不仅仅是速度旋钮),因此用不同的
p对同一密码进行哈希化会产生不同的哈希。 - 哈希长度 — 派生密钥/哈希本身的大小,单位为字节。32 字节(256 位)是常见默认值。
- 盐 (Salt) — 混入每个哈希的随机值,以确保相同的密码不会产生相同的哈希。除非您特别需要用于测试的可重现盐值,否则保持自动生成即可。
使用方法
- 输入要哈希的密码或消息。
- 根据需要调整 Argon2 参数 — 默认值是合理的、符合 OWASP 的起点。
- 选择盐值模式和输出格式。
- 单击生成哈希。
- 复制结果或将其下载为文本文件。
常见问题
用于实际密码是否安全?
计算完全在您的浏览器中进行 — 您的密码不会被发送到任何地方。基础 Argon2 实现是 @noble/hashes,一个独立审计的开源库;此工具不重新实现该算法本身。
为什么生成速度比此网站上的其他工具慢? 这是设计使然 — Argon2 本意是计算成本高昂,因此尝试数百万次密码猜测也会很昂贵。提高内存开销或迭代次数会使其更慢(且更安全);此工具限制两者以保持浏览器响应性。
我可以在这里针对现有 Argon2 哈希验证密码吗?
目前不行 — 此工具专注于生成哈希。要验证,大多数编程语言都有内置或知名的 Argon2 验证函数(例如 PHP 的 password_verify())。
为什么 PHC 字符串与使用"相同"设置的其他工具不总是匹配?
如果盐值不同,哈希就不同 — 这就是盐值的目的。改为比较 PHC 字符串内的参数(m、t、p、v),或在两端设置相同的自定义盐值以进行一对一比较。
隐私
一切都在您浏览器的客户端进行。您在此输入的任何内容 — 密码、盐值或生成的哈希 — 都不会被传输到我们的服务器或存储在我们的服务器上。