zh

计算 HMAC

用密钥计算文件的 HMAC(SHA-256/1/384/512 或 MD5),全部在浏览器中本地完成,文件和密钥绝不离开你的设备。

正在你的设备上本地处理 ...

算法
  • SHA-256
  • SHA-1
  • SHA-384
  • SHA-512
  • MD5
密钥

你的文件

    正在你的设备上本地处理 ...

    0%

    我的文件会被上传吗?

    不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

    无需上传100% 本地处理
    内容只属于你第三方无法访问
    Hosted in GermanyGlobal Content Delivery
    经独立审计TLS A+ · 标头 A+

    HMAC(基于密钥的哈希消息认证码,RFC 2104 / FIPS 198-1)是一种带密钥的校验和:与普通哈希不同,它不仅能证明文件未被改动,还能证明文件出自掌握同一把密钥的人。只有持有密钥者才能复现出相同的值,这使得 HMAC 适合在事先约定好密钥的双方之间,确认一个文件的真实性与完整性。

    底层的哈希函数由你来选。SHA-256 是当今的标准,在没有特别要求时选它就对了。SHA-384 和 SHA-512 来自同一家族,生成的值更长;SHA-1 和 MD5 已被视为过时,只应在与旧系统对接时使用。密钥以文本形式输入,并按 UTF-8 字节使用,这与命令行工具完全一致,因此结果可与 openssl 给出的值一一对应地比对。

    整个计算完全在你的浏览器中本地运行,通过原生的 Web Crypto 接口完成:不上传任何内容,不保存任何内容,也不会从 CDN 加载任何外部库。这对 HMAC 尤为重要:文件和密钥都留在你的设备上。结果会以文本文件呈现,格式为十六进制值后接文件名,可以直接拿来与别处生成的值比对。

    技术规格

    技术规格
    输出格式TXT
    批量处理支持
    处理方式在浏览器中本地处理 (JavaScript)
    文件上传

    三步完成

    1. 拖入一个文件,并输入一把密钥。
    2. 选择哈希方法(默认:SHA-256)。
    3. 查看 HMAC,并将其下载为文本文件。

    限制: HMAC 保证真实性与完整性,但并不加密任何内容,文件内容仍然可读。它的安全性完全取决于密钥:密钥必须保密,并通过安全的渠道约定。SHA-1 和 MD5 只用于与旧系统对接,而不适用于新的安全需求。

    算法对比

    算法对比
    算法输出长度状态常见用途
    SHA-256256位当今标准通用真实性验证
    SHA-384384位更长的SHA-2变体需要更长签名时
    SHA-512512位更长的SHA-2变体需要更长签名时
    SHA-1160位已过时仅用于与旧系统比对
    MD5128位已过时仅用于与旧系统比对

    常见问题

    我的文件和密钥会被上传吗?

    不会。二者都留在浏览器本地;文件和密钥绝不离开你的设备,也不会被保存。

    它与普通校验和有什么区别?

    校验和只能证明文件未被改动。HMAC 还需要一把密钥,因此也能证明来源,只有知道密钥的人才能算出这个值。

    我该选哪种方法?

    拿不准就用 SHA-256。需要更长的值就用 SHA-384 或 SHA-512,SHA-1 或 MD5 只用于与旧系统对接。

    结果能和 OpenSSL 比对吗?

    能。输出与命令行格式相同,并与带 -hmac 选项及所选方法的 openssl dgst 的十六进制值一致。

    相关工具

    计算校验和 · 加密文件 · 解码 Base64 · 查看 X.509 证书 · TOTP生成器 · BIP39生成器