字符串哈希一键批量计算・比较|MD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2id

只需输入一个字符串,即可同时计算 MD5・SHA-1・SHA-256・SHA-512・SHA-3・BCrypt・Argon2id 的哈希值并并排比较。所有计算均在浏览器内完成,输入内容不会发送到服务器。


批量比较哈希的小贴士

  • 无需逐个切换算法页面,即可一次性查看同一输入对应的 7 种哈希值。
  • MD5・SHA-1 计算速度快但抗碰撞能力弱,目前不推荐用于密码存储,请仅用于文件篡改检测等轻量场景。
  • 在密码存储场景中,目前推荐使用可调节计算成本、并附带盐值的 BCrypt 或 Argon2id。
  • 点击每个哈希值右侧的按钮即可一键复制,方便在多种算法下进行功能验证或写入文档。

常见问题

不会。所有计算均在浏览器内的 JavaScript/WebAssembly 中完成,输入字符串及计算出的哈希值都不会被发送到服务器或进行保存。

这是因为这两种算法每次计算时都会生成一个新的随机盐值并嵌入到哈希结果中,因此即使输入相同,每次的输出也不同。这是符合规范的正确行为,也是防御彩虹表攻击的重要机制。

目前首选推荐Argon2id,其次是广泛使用的BCrypt。MD5・SHA-1・SHA-256・SHA-512・SHA-3 计算速度过快,不适合单独用于密码存储。

在密码存储、数字签名等安全性要求较高的场景中不建议使用。但在文件完整性校验(检测非人为的意外损坏)等不涉及恶意攻击的轻量场景中,目前仍在使用。

如需调整 BCrypt 的成本系数,或 Argon2 的内存、迭代次数、并行度,请分别使用专用的BCrypt 哈希Argon2 哈希计算工具。
ツールくん

闲话 ― 为什么哈希函数需要按用途区分使用

MD5・SHA-1・SHA-256・SHA-512・SHA-3 虽然同属"密码学哈希函数"这一类别,但由于设计的年代和目的不同,其安全水平存在巨大差异。MD5(1992年)和 SHA-1(1995年)都已被证实存在可实际利用的碰撞攻击(即人为构造出两个不同输入却产生相同哈希值),因此在数字证书和数字签名领域已被禁止使用。而 SHA-256・SHA-512・SHA-3 目前仍被认为是安全的,广泛应用于区块链和 TLS 证书等对安全性要求较高的场景。

然而,即便是 SHA-256 这样"安全"的哈希函数,也不适合用于密码存储。这类函数被刻意设计得计算速度极快,一旦遭遇暴力破解或预先计算好的彩虹表攻击,攻击者便能在短时间内尝试海量密码组合。相比之下,BCrypt 和 Argon2 则被刻意设计得"计算缓慢",其成本参数(BCrypt 的轮数、Argon2 的内存与迭代次数)可以随着硬件性能的提升而持续调高,这与前者的设计目标存在本质区别。

Argon2 是 2015 年密码哈希竞赛(Password Hashing Competition)的冠军算法,其特点是具备可指定计算所需内存量的"内存困难性"。GPU、ASIC 等专为并行计算优化的硬件虽然擅长高速运算,但内存容量有限,因此大量消耗内存的 Argon2 对专用硬件发起的暴力破解攻击的抵抗力被认为优于 BCrypt,OWASP 也将其列为首选推荐算法。