MD5 / SHA摘要计算工具

在线计算 UTF-8 文本的 MD5、SHA-1、SHA-256 摘要,支持空文本及十六进制大小写输出。

工具资源加载中...

MD5 / SHA 摘要计算工具介绍

小K工具的文本 Hash 计算器将输入内容按 UTF-8 转换为字节,再计算 MD5、SHA-1 或 SHA-256 摘要,适合核对文本内容、检查接口联调数据和学习常见哈希算法。结果使用完整十六进制表示,默认小写,也可以选择大写。

计算过程在当前浏览器内完成,无需上传待计算文本。工具支持中文、英文、emoji 和空字符串;空格、制表符、换行、BOM 等内容都会参与计算。修改输入、算法或大小写选项后,原来的结果会收起,需要重新点击“计算摘要”。

三种完整摘要

MD5 输出 32 位、SHA-1 输出 40 位、SHA-256 输出 64 位十六进制字符,不截断摘要。

严格 UTF-8 输入

支持中文和有效的 emoji 代理对;遇到孤立的 Unicode 代理项时提示错误,不自动替换字符。

复制与 TXT 导出

生成结果后可直接复制摘要,或导出只包含摘要字符串的 TXT 文件,方便继续核对。

怎样计算文本的 MD5 或 SHA 摘要?

  1. 将需要计算的文本粘贴到输入框,保留需要参与计算的空白。计算空字符串时,让输入框保持完全为空。
  2. 选择 MD5、SHA-1 或 SHA-256。需要大写十六进制时勾选“大写十六进制”。
  3. 点击“计算摘要”,查看完整摘要以及原文的 UTF-8 字节数。若输入有无效字符或超过大小限制,页面会显示原因。
  4. 点击“复制结果”或“导出 TXT”保存结果。与其他系统核对时,确认双方使用相同算法、字符编码和原文内容。

“加载示例”会填入不含引号、空格或换行的 abc,并使用当前算法和大小写选项立即计算。“清空”会清除输入、结果和错误提示,但保留算法选项。

摘要长度与标准示例

以下结果均为小写十六进制,输入 abc 后面没有换行:

  • MD5,128 位 / 32 个十六进制字符:900150983cd24fb0d6963f7d28e17f72。
  • SHA-1,160 位 / 40 个十六进制字符:a9993e364706816aba3e25717850c26c9cd0d89d。
  • SHA-256,256 位 / 64 个十六进制字符:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。

完全为空的文本也是合法输入,UTF-8 字节数为 0,其摘要分别为:

  • MD5:d41d8cd98f00b204e9800998ecf8427e。
  • SHA-1:da39a3ee5e6b4b0d3255bfef95601890afd80709。
  • SHA-256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855。

大写选项只改变结果字母的显示形式,不改变摘要代表的字节值。“32 位 MD5”通常指 32 个十六进制字符,对应的摘要实际长度为 128 个二进制位。

文本哈希计算适合哪些场景?

  • 接口联调:确认约定的 UTF-8 文本在双方得到一致的摘要,排查额外空格、换行或编码差异。
  • 内容核对:计算两段文本的摘要辅助比较;需要确认原文完全相同时,仍可直接核对原文内容。
  • 学习验证:观察不同长度输入均产生固定长度摘要,以及修改单个字符后摘要发生的变化。
  • 兼容旧协议:按既有系统约定生成 MD5 或 SHA-1 字符串,并以小写或大写形式传递。

若需要把原文转换成可还原的字符串,可使用 Base64 编码解码工具;处理网址参数中的百分号编码,可以使用 URL 编码解码工具。这些编码操作与计算不可逆摘要的用途不同。

字符编码与计算范围

本工具固定采用 UTF-8,不提供 GBK、UTF-16 等编码选择;不自动去除 BOM,不执行 Unicode NFC 或 NFD 规范化。输入框中的可见文本相同,也可能因为组合字符形式或隐藏字符不同而生成不同摘要。浏览器文本框可能将粘贴内容的换行形式规范为换行符,因此需要逐字节核对原文件时,应使用文件摘要工具。

当前工具只计算文本,不支持上传文件、HMAC、加盐摘要、SHA-512 或摘要反查。单次最多处理 2 MiB,即 2,097,152 个 UTF-8 字节;输入长度小于 232 位,算法仍按标准的 64 位消息长度字段填充。较长文本会同步计算,耗时取决于设备性能。

摘要不能解密还原原文。MD5 和 SHA-1 已存在碰撞问题,不适合新系统的安全签名;普通 MD5、SHA 摘要也不能替代专用的密码存储算法。本工具生成文本摘要,不提供数字签名或身份验证。

MD5 / SHA 摘要计算常见问答

为什么相同的文字在不同工具中结果不同?

先检查算法和编码是否一致,再检查首尾空格、换行、BOM 与 Unicode 组合形式。本工具不去除这些内容,输入框中的每个 UTF-8 字节都会参与计算。只切换摘要显示的大小写,不会改变摘要值。

空文本和只输入一个空格的摘要一样吗?

不一样。空文本含 0 个字节;一个普通空格包含 UTF-8 字节 20。直接点击“计算摘要”可以计算空文本,而不是将空内容当作错误。

为什么中文的字节数大于字数?

UTF-8 是变长编码,常用汉字通常占 3 个字节,多数 emoji 占 4 个字节。页面显示的是参与摘要计算的 UTF-8 字节数,不是可见字符数量。

有了 MD5 或 SHA-256,能还原原来的文字吗?

摘要不是可逆编码,工具没有解码或解密功能。不同原文也可能产生相同摘要,因此摘要相同并不是原文必然相同的数学证明。

导出的 TXT 文件包含原文吗?

不包含。TXT 只写入本次生成的十六进制摘要字符串,文件名按所选算法命名,例如 sha256-result.txt。