zh

计算 HMAC

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

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

你的文件

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

    0%

    你的文件从未离开你的设备

      我的文件会被上传吗?

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

      无需上传100% 本地处理
      内容只属于你第三方无法访问
      服务器位于德国原生符合 GDPR
      经独立审计TLS A+ · 标头 A+

      HMAC(基于密钥的哈希消息认证码)是一种带密钥的校验和:与普通哈希不同,它不仅能证明文件未被改动,还能证明文件出自掌握同一把密钥的人。只有持有密钥者才能复现出相同的值,这使得 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 只用于与旧系统对接,而不适用于新的安全需求。

      常见问题

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

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

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

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

      我该选哪种方法?

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

      结果能和 OpenSSL 比对吗?

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

      相关工具