#

哈希生成器

计算 UTF-8 文本的 SHA-1、SHA-256、SHA-512 摘要

哈希计算
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月29日•最近复核:2026年9月29日

将输入框中的文本编码为 UTF-8,并计算 SHA-1、SHA-256 和 SHA-512。可以直接计算空字符串;输入文件名只会得到文件名文本的摘要,不会读取文件内容。

选项默认关闭。启用时先统一换行,再去除首尾空白。浏览器文本框本身也会将粘贴的 CRLF/CR 转成 LF,因此这里适合核对文本摘要,不能用于保留原始文件字节的校验。修改输入或选项后,旧结果立即清空。

文本仅在当前页面内存中处理,不写入浏览器存储。输入和摘要都不会发送给统计服务;复制操作会把所选结果写入系统剪贴板。

哈希结果

点击“生成哈希”后显示三种算法的结果。空字符串也是有效输入。

算法与文本边界

这里只提供文本的 SHA-1、SHA-256、SHA-512 十六进制摘要,不提供文件上传、SHA-384 或加密解密。哈希是单向摘要。SHA-1 已不适合抵御碰撞攻击;新的完整性用途优先选择 SHA-256 或 SHA-512。

单纯哈希不能证明消息来自谁,也不适合直接保存密码。身份验证使用带密钥的 HMAC;密码存储使用 bcrypt 等专用算法。相同文字的 Unicode 编码形式、首尾空白或换行不同,都可能改变摘要;本工具不做 Unicode 规范化。

页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

使用浏览器 Web Crypto API 计算文本的 SHA-1、SHA-256 和 SHA-512 摘要。文本按所选空白处理选项处理后,以 UTF-8 编码参与计算。本页不读取文件,也不加密内容。工具不上传输入或保存输入草稿;网站访问统计另见隐私政策。

生产可用片段

abc 的已知摘要(UTF-8,3 字节,无换行)

text

SHA-1:   a9993e364706816aba3e25717850c26c9cd0d89d
SHA-256: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
SHA-512: ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f

对比决策

文本校验、消息身份验证,还是密码存储?

普通 SHA 摘要

将相同文本字节与可信来源的参考摘要比对。

与用途匹配的安全方案

身份验证按协议使用 HMAC 或数字签名;密码存储使用服务端专用密码哈希。

补充:摘要比对有助于发现内容变化,但如果攻击者能同时替换文本和参考摘要,就能让两者再次匹配。

失败门诊(高频踩坑)

末尾换行会改变摘要

原因:abc 是 3 个 UTF-8 字节,abc 后加 LF 则为 4 字节。后者的 SHA-256 为 edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb。

修复:确认参考输入是否含末尾换行;只有协议要求时才将它裁剪掉。

粘贴文本不等于保留原文件字节

原因:文本框会把换行规范为 LF。复制粘贴也可能在哈希前丢失原始编码或其他字节细节。

修复:本页只计算输入框里的文本。压缩包或精确文件校验和应交给直接读取文件字节的独立工具。

外观看起来一样的 Unicode 文本可能得到不同摘要

原因:é 可以是单个 U+00E9,也可以是 e 后接 U+0301,UTF-8 分别占 2 和 3 字节。本工具不做 Unicode 规范化。

修复:核对实际输入和编码。只有双方明确约定时才使用 NFC 等规范化规则。

场景配方

01

先用 abc 核对工具结果

目标:在比对业务摘要前,先验证一个有已知结果的输入。

  1. 关闭裁剪与换行统一,输入准确的 abc,不加空格或末尾换行。
  2. 生成摘要,确认输入为 3 个 UTF-8 字节。
  3. 按同一算法逐项比对下方三个完整已知结果。

结果:SHA-256 以 ba7816bf 开头,并应与下方完整的 64 个十六进制字符一致。

02

确认空白是否属于待计算内容

目标:用明确的裁剪选项观察实际字节如何改变。

  1. 输入一个空格、abc、再一个空格。关闭裁剪时,输入为 5 个 UTF-8 字节。
  2. 生成 SHA-256,应为 3eaf1941003943dfaa935adecffcaaa217e290def6fb0181141ced6c9daabaad。
  3. 开启裁剪后重新生成。输入变成 3 字节,摘要应与 abc 的已知结果一致。

结果:裁剪会改变消息内容。只有另一端采用相同规则时才应开启。

03

按 UTF-8 字节核对中文与 Emoji

目标:核对编码后的字节,而不是只数肉眼看到的字符。

  1. 准确输入 你好 😀,中间保留一个空格,不加末尾换行,关闭裁剪。
  2. 生成摘要,确认 UTF-8 字节数为 11。
  3. SHA-256 应为 11d38af3bdabe6b2cbeddca50ba2837db42ab16679896ed9cc0dfce30cfc1fa7。

结果:另一种实现只要使用相同 UTF-8 字节和算法,就应得到同一摘要。

推荐工作流

常见问题

支持哪些算法和输出格式?

本页输出小写十六进制的 SHA-1、SHA-256 和 SHA-512 摘要,长度分别为 40、64 和 128 个十六进制字符。SHA-1 仅用于旧系统比对;新完整性校验优先选 SHA-256 或 SHA-512。本页不生成 MD5 或 SHA-384 结果。

粘贴文件名或文件内容,能得到文件哈希吗?

不能。文件名只会作为普通文本参与计算,不代表文件内容。本页没有文件读取功能;浏览器文本框会把换行规范为 LF,复制粘贴也不能保留任意文件字节及原始编码。下载文件或压缩包应使用直接读取文件字节的哈希工具。

可以计算空文本的哈希吗?

可以。保持输入为空并点击“生成哈希”,即可计算零字节输入的标准摘要。启用裁剪时,仅包含首尾空白的输入也可能变成空文本。

普通 SHA 摘要能用于存密码或接口身份验证吗?

普通 SHA 摘要没有密钥,不能验证发送者身份。接口鉴权应按协议使用 HMAC 或数字签名。密码存储应在服务端使用专门的密码哈希实现,例如 Argon2id 或 bcrypt,并正确设置盐和计算成本。

别人能从摘要恢复输入吗?

摘要没有解密操作,但别人可以猜测可能的输入,再计算摘要逐一比对。因此,对短密码、邮箱或其他可预测内容做哈希,并不能让它们保密。

继续浏览