跳到工具区
安全

Hash / HMAC / 文件校验

在浏览器本地计算文本或文件摘要,生成 HMAC,并与完整校验值进行比对。

输入0 个字符
结果0 个字符
就绪

想要更顺手的原生工作流?

把「Hash / HMAC / 文件校验」放到一个快捷键里。

DevSexy Mac 版保留同样私密的本地处理,同时提供全局快捷键;不用管理浏览器标签页,需要时直接呼出。

全局快捷键可离线使用本地处理
免费试用 Mac 版

当前浏览器工具仍然免费。

字节证据工作台 · 工具不是魔法

摘要是否一致,先从输入字节查起。

Hash 处理的是字节。校验值不一致时,应先确认双方使用了相同的字符编码、Unicode 规范化、换行符和文件内容,再检查算法与 hex / Base64 输出表示。

输入清单#BYTES-0514
文本 · UTF-8

字符先编码为字节

文件 · 原始内容

所选文件的 ArrayBuffer 直接传给本地 Worker

Café43 61 66 C3 A9
你好E4 BD A0 E5 A5 BD
LF0A
CRLF0D 0A

看起来相同的文本,可能采用不同 Unicode 规范化形式或带有不可见的尾随字节。输入清单不仅记录结果,也要记录它来自文本还是文件。

两种工具

普通摘要与 HMAC 回答的是不同问题。

INSTRUMENT 01

普通 HASH

消息 → H(message)

任何拿到消息的人都能复算。

用于完整性比对

INSTRUMENT 02

带密钥的 HMAC

密钥 + 消息 → HMAC

只有共享密钥的参与方才能复算。

完整性 + 共享密钥认证

算法状态架

输出更长,不等于安全属性就更完整。

SHA-256256 bit当前推荐

通用完整性校验与内容寻址

SHA-384384 bit当前推荐

兼容特定协议或安全策略

SHA-512512 bit当前推荐

需要较宽 SHA-2 输出的场景

SHA-1160 bit旧算法

仅作兼容校验;存在碰撞弱点

MD5128 bit旧算法

仅作旧校验值兼容;存在碰撞弱点

不一致排查

肉眼相同的输入,可能不是同一份字节证据。

换行符

LF 0ACRLF 0D 0A

Unicode

é · U+00E9e + ◌́ · U+0065 U+0301

文本编码

UTF-8UTF-16LE

输出表示

小写 hex带 padding 的 Base64

文件处理

原始字节文本模式转换

摘要长度

完整值截断前缀

校验回执

规范化表示后,仍需比对完整摘要。

来源release.tar.zst · 原始字节
算法SHA-256
预期值64 个 hex 字符
实际值64 个 hex 字符
结论匹配 / 不匹配
COMPLETE VALUE REQUIRED

匹配只能说明本地字节与所填预期值一致。发布者身份是否可信,还取决于预期值从哪里取得、是否经过可信渠道认证。

运行可复现的实例

计算 abc 的已知 SHA-256 摘要,再核对完整的预期表示。

使用实例会替换当前输入、参考输入、操作与选项。以下均为公开演示数据。

哈希恰好三个 UTF-8 字节

SHA-256、十六进制、无末尾换行;普通摘要不使用秘密。

输入

abc

结果匹配 abc 的完整公开 SHA-256 测试向量。

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

比较完整校验和

提供完整十六进制摘要,不填写 HMAC 密钥。

输入

abc

MATCH 只确认与给定摘要相同,不验证发布者身份。

Verdict: MATCH

继续处理相关任务

Base64 编码 / 解码

在浏览器本地转换文本与 Base64,支持 UTF-8 等文本编码、标准与 URL-safe 字母表。

文本 Diff 对比

在浏览器本地按行、词或字符比较两段文本,并清楚记录忽略规则与输出格式。

X.509 / PEM 证书解析

在浏览器本地解析证书的 Subject、Issuer、SAN、用途与有效期,不把字段检查误当成完整信任验证。

在 DevSexy Mac 应用中重复处理

反复处理本地数据时,可通过 Option 快捷键打开原生应用,离线使用工具。

直接回答

什么是 Hash / HMAC / 文件校验?

在线计算文本或文件的 SHA-256、SHA-384、SHA-512、SHA-1、MD5,生成 HMAC 并比对完整校验值;文件留在浏览器本地,MD5 与 SHA-1 仅用于旧系统兼容。

它能做什么?

  • 哈希
  • HMAC
  • 验证

如何使用 Hash / HMAC / 文件校验

  1. 01

    准备输入

    确认源字节,包括换行和 Unicode 规范化。

  2. 02

    选择操作

    选择普通摘要或 HMAC、算法与输出表示。

  3. 03

    核对结果

    从可信来源获取完整预期值,把认证与字节相等分开理解。

常见问题

为什么多一个末尾换行就改变摘要?
换行改变了输入字节。文本按原样编码为 UTF-8,文件摘要使用文件内容字节,不使用显示的文件名。
摘要相同能证明文件由谁发布吗?
不能。它只与给定预期值比较,应通过可信渠道获得预期值;任何人都可以重新计算普通摘要。
HMAC 与普通摘要的区别是什么?
HMAC 用共享秘密对消息认证,普通摘要没有秘密。这里的公开实例刻意使用普通 SHA-256,不包含私有密钥。