Argon2哈希生成器
使用可配置参数生成和验证 Argon2 密码哈希。支持 Argon2i、Argon2d 和 Argon2id 变体。
检测到广告拦截,导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎开通 Premium(无广告 + 更快),或将 MiniWebtool.com 加入白名单后刷新页面。
- 或升级 Premium(无广告)
- 允许 MiniWebtool.com 显示广告,然后刷新
Argon2哈希生成器
欢迎使用 Argon2 哈希生成器,这是一个免费的在线工具,用于生成和验证 Argon2 密码哈希。Argon2 是 2015 年密码哈希竞赛的冠军,被 OWASP 和 NIST 推荐用于安全密码存储。该工具支持所有三种 Argon2 变体(Argon2i、Argon2d、Argon2id),并具有完全可配置的参数。
什么是 Argon2,为什么推荐它?
Argon2 是一种现代密码哈希算法,由卢森堡大学的 Alex Biryukov、Daniel Dinu 和 Dmitry Khovratovich 设计。它在 2015 年赢得了密码哈希竞赛,现在是主要安全组织推荐的密码哈希算法。
与 MD5、SHA-1 甚至 bcrypt 等较旧的算法不同,Argon2 专门设计为:
- 内存密集型(Memory-hard): 需要大量内存,使得 GPU 和 ASIC 攻击成本高昂
- 可配置: 调整内存、时间和并行度以平衡安全性和性能
- 抗侧渠道攻击: Argon2i 变体可防御计时攻击
- 面向未来: 参数可以随着硬件性能的提高而增加
Argon2 变体详解
Argon2i(数据无关)
Argon2i 旨在通过使用与数据无关的内存访问模式来抵御侧渠道攻击。这使其适用于计时攻击令人担忧的共享或多租户系统上的密码哈希。但是,与 Argon2d 相比,它稍微容易受到 GPU 攻击。
Argon2d(数据相关)
Argon2d 使用与数据相关的内存访问,这提供了抵御 GPU 破解攻击的最大阻力。但是,这使其容易受到侧渠道攻击(如计时分析)。仅在不担心侧渠道攻击的环境中使用 Argon2d。
Argon2id(混合 - 推荐)
Argon2id 结合了两个变体的优点:它首先使用 Argon2i 以抵御侧渠道攻击,然后切换到 Argon2d 以获得最大的 GPU 抗性。这种混合方法被推荐用于大多数应用,并且是此工具中的默认选择。
| 功能 | Argon2i | Argon2d | Argon2id |
|---|---|---|---|
| 侧渠道抗性 | 强 | 弱 | 强 |
| GPU/ASIC 抗性 | 好 | 优秀 | 优秀 |
| 推荐用于 | 密钥派生 | 加密货币 | 密码哈希 |
| OWASP 推荐 | 是 | 有限 | 主要 |
了解 Argon2 参数
内存成本(Memory Cost)
内存成本决定了计算哈希需要多少 RAM。更高的内存使并行攻击更加昂贵。OWASP 建议 Web 应用至少使用 64 MB。对于高安全性应用,请考虑 128 MB 或更高。
时间成本(迭代次数)
时间成本控制内存上的迭代次数。更多迭代意味着哈希速度更慢,这增加了安全性,但也增加了登录延迟。Web 应用通常推荐值为 3。
并行度(Parallelism)
并行度设置用于哈希处理的线程数。更高的并行度可以加快多核系统上的哈希处理速度,但也会增加攻击面。通常使用值 4。
哈希长度
输出哈希的字节长度。32 字节(256 位)对于大多数应用来说已经足够,并提供了充足的安全边际。
盐(Salt)
盐是在哈希处理之前添加到密码中的随机数据。它确保相同的密码产生不同的哈希,防止彩虹表攻击。请务必为每个密码使用唯一的随机盐。此工具可以自动生成安全盐,也可以让您指定自定义盐。
如何使用此 Argon2 哈希生成器
- 选择模式: 选择“生成哈希”以创建新哈希,或选择“验证哈希”以检查密码是否与现有哈希匹配。
- 输入密码: 在输入框中键入或粘贴要进行哈希处理的密码或文本。
- 选择 Argon2 变体: 根据安全需求选择 Argon2id(推荐)、Argon2i(抗侧渠道攻击)或 Argon2d(抗 GPU 攻击)。
- 配置参数: 设置内存成本(推荐 64 MB)、时间成本(推荐 3 次迭代)、并行度(推荐 4 个线程)和哈希长度(推荐 32 字节)。
- 生成哈希: 点击“生成 Argon2 哈希”来创建您的哈希。复制编码或十六进制输出到您的应用中。
按用例推荐的参数
标准 Web 应用
- 变体:Argon2id
- 内存:64 MB (65536 KB)
- 迭代次数:3
- 并行度:4
- 哈希长度:32 字节
高安全性应用
- 变体:Argon2id
- 内存:128 MB (131072 KB)
- 迭代次数:4
- 并行度:4
- 哈希长度:32 字节
密码管理器 / 最大安全性
- 变体:Argon2id
- 内存:256 MB (262144 KB)
- 迭代次数:5
- 并行度:8
- 哈希长度:64 字节
我可以解密 Argon2 哈希吗?
不可以。Argon2 是一种单向哈希函数,这意味着在计算上不可能将哈希还原为原始密码。这是设计使然 - 即使哈希数据库被泄露,它也能保护密码。
要验证密码,请使用相同的参数和盐对输入进行哈希处理,然后将结果与存储的哈希进行比较。编码后的 Argon2 格式包含所有必要的参数,使验证变得简单。
常见问题解答
什么是 Argon2,为什么推荐它?
Argon2 是一种现代密码哈希算法,在 2015 年的密码哈希竞赛中获得冠军。它通过要求大量的内存和计算能力,旨在抵御 GPU 和 ASIC 攻击。OWASP 和 NIST 推荐在 2025 年及以后使用 Argon2 进行密码存储。
Argon2i、Argon2d 和 Argon2id 有什么区别?
Argon2d 经过优化可抵御 GPU 攻击,速度较快,但易受侧渠道攻击。Argon2i 旨在抵御侧渠道攻击,适用于共享系统上的密码哈希。Argon2id 是一种混合体,兼具两种保护功能,是大多数应用的首选推荐。
Argon2 应该使用什么参数?
对于大多数 Web 应用,使用 Argon2id,设置 64 MB 内存成本、3 次迭代和 4 个线程。对于密码管理器等高安全性应用,请考虑使用 128 MB 或更高的内存成本以及 4 次以上迭代。目标是在服务器上达到约 500 毫秒的哈希时间。
我可以解密 Argon2 哈希吗?
不可以,Argon2 是一种单向哈希函数。在计算上不可能将哈希还原为原始密码。要验证密码,请使用相同的参数对输入进行哈希处理,并将结果与存储的哈希进行比较。
什么是盐,为什么它很重要?
盐是在哈希处理之前添加到密码中的随机数据。它确保相同的密码产生不同的哈希,防止彩虹表攻击,并增加同时破解多个密码的难度。请务必为每个密码使用唯一的随机盐。
参考资料
引用此内容、页面或工具为:
"Argon2哈希生成器" 于 https://MiniWebtool.com/zh-cn/argon2-哈希生成器/,来自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 团队。更新日期:2026年1月12日