跳到正文
SPCXTools

哈希值生成器

为文本或文件计算 MD5 和 SHA 校验码,并对照已知哈希值验证下载文件。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用哈希值生成器

  1. 1选择 文本 来对输入的文本进行哈希计算,或选择 文件 来对您设备上的文件进行哈希计算。
  2. 2输入文本或选择文件。MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 这五种哈希值将一次性全部计算出来。
  3. 3点击 复制 按钮来复制任意哈希值;如果需要大写十六进制字母,请勾选 大写。
  4. 4如需验证下载文件,请将软件发布者提供的校验码粘贴到 校验哈希值 输入框中。匹配的哈希值将会高亮显示。

在线生成 MD5 和 SHA 哈希值

密码学哈希函数可以将任何输入——一个词、一份文档、一个 4 GB 的磁盘映像——转换成一个简短的、固定长度的指纹。输入的任何一个比特位的改变都会导致指纹完全不同。本哈希值生成器可一次性计算五种最常见的指纹:MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。它同时支持文本和文件,并且所有处理都在您的浏览器本地完成。

功能特性

  • 一次性计算五种算法,因此您无需猜测网站使用的是哪一种。
  • 支持文本和文件输入。 文本按 UTF-8 编码进行哈希;文件按字节进行哈希。
  • 校验码验证。 粘贴一个预期的哈希值,本工具会告诉您它与哪种算法匹配——或者提醒您不匹配任何一种。
  • 大写输出,适用于需要大写十六进制字符的系统。
  • 保护隐私,支持离线:文件绝不会离开您的设备。

常见用途

验证下载文件。 软件供应商通常会在安装程序和 ISO 镜像旁边发布一个 SHA-256 校验码。为您下载的文件计算哈希值并进行比较:如果哈希值匹配,说明文件是完整的,并且在传输过程中未被篡改。

检测重复文件。 两个具有相同 SHA-256 哈希值的文件,在所有实际应用中都可以认为是完全相同的。哈希是为照片或备份文件去重的快捷方法。

开发与 API。 哈希值可用于缓存键、ETag、内容寻址和签名方案。在调试计算哈希值的代码时,使用本工具生成一个参考值会很有帮助。

旧版系统。 一些较旧的工具仍然需要 MD5 或 SHA-1 校验码。它们可以用来检测意外损坏,但不应依赖它们来防止恶意篡改。

不同哈希函数的区别

算法 输出长度 状态
MD5 128 位 (32 个十六进制字符) 已破解 — 仅用于校验
SHA-1 160 位 (40 个十六进制字符) 已破解 — 仅用于旧版系统
SHA-256 256 位 (64 个十六进制字符) 推荐使用
SHA-384 384 位 (96 个十六进制字符) 强
SHA-512 512 位 (128 个十六进制字符) 强

“已破解”意味着研究人员可以故意创建两个不同但哈希值相同(即“碰撞”)的输入。SHA-256 和更长的 SHA-2 变体目前没有已知的实际攻击方法。

如果您需要的是随机标识符而不是文件指纹,请使用 UUID 生成器。如果需要将文件的原始字节编码为文本而不是计算哈希值,请使用 Base64。

常见问题

计算哈希值时,我的文件会被上传吗?
不会。文件在您自己的设备上读取和哈希,使用的是浏览器的 Web Crypto API(以及一个内置的 MD5 实现)。这意味着您可以安全地为大型或机密文件计算哈希值,并且页面加载后即可离线使用。
我应该使用哪种哈希算法?
若要检查文件完整性或创建文件指纹,请使用 SHA-256。MD5 和 SHA-1 仍常用于旧版系统的校验码,但出于安全目的已被破解——攻击者可以创建两个不同但哈希值相同的文件。SHA-384 和 SHA-512 提供更长的输出,以满足特殊需求。
哈希值可以被逆向还原为原始文本吗?
不可以。哈希函数是单向的。但是,简短或常见的输入(如简单密码)可以通过在预计算的“彩虹表”中查找来破解,这就是为什么密码必须使用专门的慢速算法(如 bcrypt 或 Argon2)存储,而不是简单的 SHA-256。
为什么我的哈希值与其他工具的结果不同?
哈希值会因单个字节的差异而完全改变。常见原因包括:末尾的换行符或空格、Windows 与 Unix 的换行符不同(\r\n 与 \n),或文本编码不同。本工具将输入的文本严格按照 UTF-8 编码进行哈希计算。
哈希与加密是一回事吗?
不是。加密是可逆的,可以使用密钥解密;而哈希生成的是一个固定长度的指纹,无法被还原成原始输入。
我可以为多大的文件计算哈希值?
在大多数计算机上,几百兆大小的文件都可以正常处理。非常大的文件会受到浏览器可用内存的限制。