Keccak-384 文件校验值计算器
在本地计算任意文件(包括大文件)的 Keccak-384 校验值,并与官方公布的哈希比对,验证下载是否完整。免费且私密。
尚未选择文件。选择文件后会立即显示校验值。
文件在浏览器中分块读取,绝不会上传。
什么是 Keccak-384 文件校验?
本工具计算所选文件的 Keccak-384 校验值(384 位摘要),并与预期值进行比对。文件在浏览器中以 4 MB 分块读取,因此支持大文件,且不会上传任何内容。
如何使用 Keccak-384 文件校验
- 点击拖放区域或将文件拖到上面;文件会分块读取,并显示进度条。
- 查看下方显示的 文件名 和 文件大小,确认选对了文件。
- 将发布方提供的校验值粘贴到 预期校验值(可选) 中——会显示“匹配”或“不匹配”(大小写、
0x以及末尾的文件名都会被忽略)。 - 如需十六进制大写或 Base64,请选择 输出格式,然后点击 复制。
示例
A file named hash-abc.txt containing the 3 bytes "abc" (no newline)
f7df1165f033337be098e7d288ad6a2f74409d7a60b49c36642218de161b1f99f8c681e4afaf31a34db29fb763e3c28e
将此值(大小写均可)粘贴到预期校验值中,会显示匹配。
何时使用 Keccak-384 文件校验
当发布方列出了 Keccak-384 校验值时,可用它验证下载文件、备份或复制的文件是否完好,也可以在传输文件前记录校验值。只有当预期的 Keccak-384 来自可信来源(HTTPS 页面或带签名的文件)时,匹配才能证明完整性。若要对短字符串而不是文件计算哈希,请使用 Keccak-384 文本哈希生成器。
Keccak-384 文件校验 的工作原理
文件通过 File API 切成 4 MB 的片段,每个片段依次送入增量式 Keccak-384 哈希器,因此内存占用很小,还能显示进度条。Keccak-384 把输入以 832 位为一块(容量 768 位)吸收进 1600 位的 Keccak-f[1600] 状态,每块应用 24 轮置换。它使用原始 Keccak 的 pad10*1 规则填充(字节 0x01 … 0x80),没有 FIPS 202 增加的 01 域分隔后缀。状态的前 384 位就是摘要,这也是 Keccak-384 与 SHA3-384 对任何输入结果都不同的原因。与预期校验值的比较基于摘要的字节进行,因此十六进制大小写和 Base64 都可以接受。
常见用例
- 根据下载页面上的校验值验证 ISO、安装包或固件镜像
- 确认复制到 U 盘、NAS 或云存储的文件逐位一致
- 在发布前记录发行文件的 Keccak-384 校验值
- 判断两个名称不同的文件内容是否完全相同
安全提示
校验值只有在预期值来自可信渠道时才能证明完整性;能替换文件的攻击者通常也能替换放在旁边的校验值。文件始终不会离开你的浏览器。
常见问题
我的文件会上传到服务器吗?
不会。文件通过浏览器的 File API 读取,并在你的设备上用 JavaScript/WebAssembly 计算哈希。页面加载完成后即使断开网络,也照样可以使用。
文件最大可以多大?
文件以 4 MB 分块处理,因此大小主要受时间而非内存限制。数 GB 的文件也能处理,速度取决于你的设备。
我的 Keccak-384 与公布的值不一致,怎么办?
首先确认比较的是同一种算法和同一个文件(而不是下载不完整的文件)。如果仍然不同,请从官方来源重新下载;持续不匹配说明文件已损坏,或者并非发布方发布的那个文件。
预期校验值里可以粘贴什么?
大写或小写的十六进制值(带不带 0x 均可)、Base64 形式,或校验文件中的一整行,例如 <hash> filename——只比较第一个单词。