MUTools

编码 / 解码

哈希值生成

哈希值生成工具可以从你输入的文本或文件一次性计算 MD5、SHA-1、SHA-256、SHA-512 等多种哈希值。无论是 md5 转换、sha256 计算,还是 checksum 校验,都可以在同一个页面内完成。

计算模式
输入
算法
输出格式
计算结果
添加文本或选择文件后,结果将显示在这里
输入字节数: 0

输入的文本与文件全程在浏览器中完成,不会上传至服务器。

哈希值生成是什么?

哈希值生成工具可以从你输入的文本或文件一次性计算 MD5、SHA-1、SHA-256、SHA-512 等多种哈希值。无论是 md5 转换、sha256 计算,还是 checksum 校验,都可以在同一个页面内完成。

在「文本」模式下,每次输入都会即时更新所有哈希值,无需点击「计算」按钮。中文、日文、表情符号等多字节字符会自动按 UTF-8 编码处理。切换到「文件」模式后,将文件拖放或通过「选择文件」按钮选取,即可同时得到 4 种算法的结果。

输出格式可在 16 进制(小写)、16 进制(大写)、Base64 之间一键切换,方便与命令行工具(shasummd5sum)或 HTTP Digest 头等不同表示对齐。在「哈希校验」输入框粘贴期望值(hex 或 Base64 均可),即可针对每个算法显示 ✓ / ✗,校验下载文件的完整性也十分简单。

将上方「计算模式」切换为 HMAC 后,会出现密钥输入框,可生成 HMAC-SHA1 / HMAC-SHA256 / HMAC-SHA512。常用于 Webhook 签名校验或 API 请求签名的手动确认。注意:HMAC 模式下不支持 MD5(浏览器内置 Web Crypto API 没有 HMAC-MD5 实现)。

输入的文本、文件以及密钥全部在浏览器内处理,绝不上传到任何服务器。包含敏感信息的字符串与文件也可放心使用。全程在浏览器中完成。

使用方法

  1. 在顶部「计算模式」中选择「哈希」或「HMAC(带密钥)」。选择 HMAC 时,下方会出现密钥输入框。
  2. 在「输入」中切换「文本」或「文件」。文本直接粘贴;文件通过拖放或「选择文件」按钮加载。
  3. 在「算法」中勾选要计算的哈希(MD5 / SHA-1 / SHA-256 / SHA-512),默认全部开启。
  4. 在「输出格式」中选择 16 进制(小写 / 大写)或 Base64。对齐命令行输出时通常使用小写 hex。
  5. 校验文件完整性等场景下,可在「哈希校验」输入期望值(hex 或 Base64 均可),会针对每个算法显示 ✓ / ✗。
  6. 点击结果卡片右上方的「复制」按钮,将该算法的哈希值复制到剪贴板。

使用场景

  • 确认下载的 ZIP / DMG / ISO 文件是否与发行方公开的 checksum 一致。
  • 学习并验证 Git 对象 ID(SHA-1)的生成规则,或手动计算对象的 SHA-1。
  • 在实现 JWT、OAuth、Webhook 等流程时,比对服务器生成的 HMAC-SHA256 签名是否与本地结果一致。
  • 实现 AWS Signature V4 或 Slack / GitHub Webhook 签名前,先手动复现签名结果以确认实现方向。
  • 为短字符串(密码、令牌、URL 等)快速生成 MD5 / SHA-256,粘贴到文档或工单中。

注意事项

  • 文本会先按 UTF-8 编码再计算哈希,因此中文、日文、表情符号、特殊符号等多字节字符均可直接输入。
  • 文件会被加载到浏览器内存中进行计算,单个文件大小上限为 50 MB,超过则会显示错误。
  • MD5 与 SHA-1 已存在实际可行的碰撞攻击,不再适合安全相关用途(密码保存、防篡改、电子签名等)。仅在与既有规范保持兼容时使用(如 checksum 校验、Git 对象 ID)。新项目请优先选择 SHA-256 或更高强度。
  • HMAC 模式不支持 MD5(Web Crypto API 仅支持 HMAC over SHA-1 / SHA-256 / SHA-384 / SHA-512)。
  • HMAC 密钥按 UTF-8 字节序列解释。如果密钥已经是 hex 或 Base64 编码,请先在外部解码后再粘贴。
  • Base64 输出采用标准字母表(A–Z, a–z, 0–9, +, /, 含 = 填充),并非 URL-safe 变体。等价于 `openssl ... -binary | base64` 的输出。
  • 哈希校验字段忽略大小写、空白和「:」分隔符,hex 与 Base64 形式的期望值均可直接粘贴。

常见问题

输入的文本与文件会被上传到服务器吗?
不会。哈希计算全部在浏览器中完成。包含访问令牌、内部文档或个人信息的数据也可以安全使用。
听说 MD5 已经不安全了,还能用吗?
在密码学相关场景(密码保存、防篡改、电子签名)不再推荐使用,MD5 与 SHA-1 都存在实际可构造的碰撞。但在 checksum 校验、Git 对象 ID 等需要兼容既有规范的场景仍然有用。新设计请优先选择 SHA-256 以上。
命令行的 `md5sum` / `shasum -a 256` 与本工具结果不一致。
请检查两点:(1) `echo` 默认会追加换行符,使用 `echo -n` 或 `printf` 才能只对原始字节计算哈希。(2) 本工具按 UTF-8 编码文本,如果 Shell 或编辑器使用其他编码,底层字节不同,哈希值自然也不同。
文件大小有上限吗?
上限是 50 MB。由于计算在浏览器内存中进行,过大的文件可能导致设备运行变慢。超过此大小建议使用命令行(如 `shasum -a 256 <file>`)。
HMAC 与普通哈希有什么区别?
HMAC(Hash-based Message Authentication Code)在哈希中引入了密钥。即使内容相同,不同密钥也会产生不同的结果,因此 HMAC 不仅能检测消息是否被篡改,还能验证消息确实由持有密钥的一方生成。常见于 Webhook 签名与 API 请求签名场景。
输出格式中的「Base64」是哪种 Base64?
标准 Base64(A–Z, a–z, 0–9, +, /, 含 = 填充),并非 URL-safe 形式。等价于 `openssl ... -binary | base64` 的输出。