首页 哈希计算器

哈希计算器

计算任意文本或文件的 MD5、SHA-1、SHA-256、SHA-384、SHA-512 哈希值——100% 在浏览器中完成。

输入

哈希结果

哈希值将显示在此处。

什么是哈希?

哈希是将任意数量的输入数据——一段文本、一个文件、一张图片,甚至整个数据库——通过一个被称为哈希算法的数学函数进行处理,生成一段固定长度的字符串,称为哈希值、摘要或校验和。相同的输入总会产生相同的输出,但即使对输入做极小的改动(翻转一个比特),也会得到完全不同的哈希值。哈希是一种单向操作:您可以从数据计算出哈希,但无法从哈希还原出原始数据。

哈希函数是现代计算的基石。它用于校验文件完整性(下载文件与发布者的校验和匹配即说明文件完整)、安全地存储密码(只存哈希不存明文)、为数字证书签名、在存储系统中做数据去重,以及支撑区块链的工作量证明。加密哈希函数还提供三个关键保证:抗原像(无法从哈希反推输入)、抗第二原像(无法找到产生相同哈希的另一个输入)和抗碰撞(任何两个不同输入都不应产生相同哈希)。

哈希算法详解

不同的哈希算法产生不同长度的摘要,提供不同的安全保证。本工具支持五种广泛使用的算法,各有取舍:

  • MD5(128 位)。1992 年作为 MD4 的继任者发布,MD5 产生 32 个字符的十六进制摘要。它速度极快,至今仍广泛用于非加密场景的校验和、文件指纹和缓存键。然而 MD5 在密码学上已被视为不安全:自 2004 年以来已出现实际的碰撞攻击演示,因此绝不能用于密码、数字签名或任何安全敏感用途。
  • SHA-1(160 位)。由 NSA 于 1995 年发布,输出 40 个字符的十六进制摘要。多年间它是 TLS 证书和 Git 提交 ID 的核心算法,但 2017 年公开的碰撞攻击(SHAttered)后已被弃用。多数浏览器和证书机构已不再信任 SHA-1。
  • SHA-256(256 位)。SHA-2 家族成员,产生 64 个字符的十六进制摘要。它是目前最广泛使用的加密哈希,保护着比特币、TLS 证书、软件签名、文件完整性以及密码存储(搭配盐值与慢速 KDF 使用)。它在现代 CPU 上有出色的硬件加速并具备强安全性。
  • SHA-384(384 位)。SHA-2 的另一变体,将 SHA-512 摘要截断为 96 个十六进制字符。它用于更高安全级别的场景,例如政府应用和 X.509 证书。
  • SHA-512(512 位)。SHA-2 中最长的变体,产生 128 个字符的十六进制摘要。它在 64 位 CPU 上性能最佳,用于数字签名、搭配 PBKDF2/Argon2 的密码哈希,以及大型归档的完整性校验。

MD5 与 SHA —— 该用哪个?

MD5 和 SHA 家族在表面上解决同样的问题,但属于密码学的不同时代。MD5 更快、摘要更短,这在 1990 年代带宽和 CPU 资源稀缺时很有吸引力。如今,MD5 只应用于非安全场景,例如变更检测、去重、ETag 生成,或与发布者非对抗性校验和对比。任何攻击者可能故意构造碰撞输入的场景——密码存储、数字签名、证书指纹、防篡改——MD5 都不安全,应改用 SHA-256 或更强的算法。

在 SHA 家族内部,SHA-256 是现代默认选择。SHA-384 和 SHA-512 提供更大的安全余量,适用于金融、医疗、政府等强制要求的场景。SHA-1 不应用于新代码;它仅在验证旧 Git 对象或过期证书等遗留产物时还有用。具体到密码存储,任何算法的原始哈希都不够——必须将 SHA-256(或更好的 SHA-512)与 PBKDF2、bcrypt、scrypt 或 Argon2 等慢速密钥派生函数结合使用。

何时使用哈希计算器

哈希计算器在许多日常场景中都很实用,无论是开发者还是需要验证数据未被篡改的普通用户。常见用例包括:

  • 校验文件完整性。将下载的 ISO、压缩包或安装程序的哈希与发布者公布的校验和对比,确认文件未被损坏或篡改。
  • 检测变更。在传输前后对配置文件、合同或文档计算哈希;哈希一致即可证明内容完全相同。
  • 缓存键与去重。对负载数据计算哈希,生成稳定且紧凑的标识符,用于缓存、去重或作为数据库唯一键。
  • 生成指纹。对证书、公钥或文档计算 SHA-256 指纹,用于验证和审计日志。
  • 调试数据管道。对中间记录计算哈希,确认转换过程没有静默改变数值。
  • 学习密码学。观察微小的输入变化如何产生截然不同的哈希输出(雪崩效应)。

对于密码存储,不要止步于原始哈希——应使用专门的密码哈希函数。本工具仅用于校验和学习,不应用于存储用户凭据。

如何计算哈希

使用本工具计算哈希只需几秒钟,完全在浏览器内完成。无需上传、无需注册、无需安装。工具使用 Web Crypto API(crypto.subtle.digest)计算 SHA 系列,MD5 则通过内置 JavaScript 实现。请按以下步骤操作:

  1. 输入数据。在输入框中输入或粘贴文本,或上传一个文件。若已选择文件,将计算文件内容的哈希;否则计算文本的哈希。
  2. 点击"计算哈希"。工具将并行计算 MD5、SHA-1、SHA-256、SHA-384、SHA-512,并在结果区列出每个摘要。
  3. 复制所需哈希。每个摘要都有自己的复制按钮。点击即可将十六进制字符串复制到剪贴板。
  4. 对比或复用。将哈希粘贴到您的脚本、文档或验证流程中。对同一输入再次运行总会得到相同的摘要。

由于每一步都使用 JavaScript 在浏览器中本地运行,您的文本和文件永远不会被上传到服务器。这使计算完全私密、快速,并适合敏感内容。

这个哈希计算器免费吗?

是的,完全免费,无需注册、无水印,除设备内存外没有任何限制。

支持哪些哈希算法?

MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。所有计算都在浏览器中本地完成。

可以计算文件的哈希吗?

可以。使用文件选择器选择一个文件,然后点击"计算哈希"。文件字节通过 FileReader API 在本地读取,不会上传。

MD5 用于密码安全吗?

不安全。MD5 在安全用途上已被攻破。存储密码请使用 PBKDF2、bcrypt、scrypt 或 Argon2 等慢速密钥派生函数,并配合每用户独立的盐值。

我的输入会被上传吗?

不会。所有处理都在本地进行,文本和文件永远不会离开您的浏览器。