计算 HMAC
用密钥计算文件的 HMAC(SHA-256/1/384/512 或 MD5),全部在浏览器中本地完成,文件和密钥绝不离开你的设备。
你的文件
正在你的设备上本地处理 ...
0%
你的文件从未离开你的设备
我的文件会被上传吗?
不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证
用密钥计算文件的 HMAC(SHA-256/1/384/512 或 MD5),全部在浏览器中本地完成,文件和密钥绝不离开你的设备。
正在你的设备上本地处理 ...
0%
你的文件从未离开你的设备
不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证
HMAC(基于密钥的哈希消息认证码)是一种带密钥的校验和:与普通哈希不同,它不仅能证明文件未被改动,还能证明文件出自掌握同一把密钥的人。只有持有密钥者才能复现出相同的值,这使得 HMAC 适合在事先约定好密钥的双方之间,确认一个文件的真实性与完整性。
底层的哈希函数由你来选。SHA-256 是当今的标准,在没有特别要求时选它就对了。SHA-384 和 SHA-512 来自同一家族,生成的值更长;SHA-1 和 MD5 已被视为过时,只应在与旧系统对接时使用。密钥以文本形式输入,并按 UTF-8 字节使用,这与命令行工具完全一致,因此结果可与 openssl 给出的值一一对应地比对。
整个计算完全在你的浏览器中本地运行,通过原生的 Web Crypto 接口完成:不上传任何内容,不保存任何内容,也不会从 CDN 加载任何外部库。这对 HMAC 尤为重要:文件和密钥都留在你的设备上。结果会以文本文件呈现,格式为十六进制值后接文件名,可以直接拿来与别处生成的值比对。
| 输出格式 | TXT |
|---|---|
| 批量处理 | 支持 |
| 处理方式 | 在浏览器中本地处理 (JavaScript) |
| 文件上传 | 无 |
限制: HMAC 保证真实性与完整性,但并不加密任何内容,文件内容仍然可读。它的安全性完全取决于密钥:密钥必须保密,并通过安全的渠道约定。SHA-1 和 MD5 只用于与旧系统对接,而不适用于新的安全需求。
不会。二者都留在浏览器本地;文件和密钥绝不离开你的设备,也不会被保存。
校验和只能证明文件未被改动。HMAC 还需要一把密钥,因此也能证明来源 - 只有知道密钥的人才能算出这个值。
拿不准就用 SHA-256。需要更长的值就用 SHA-384 或 SHA-512,SHA-1 或 MD5 只用于与旧系统对接。
能。输出与命令行格式相同,并与带 -hmac 选项及所选方法的 openssl dgst 的十六进制值一致。