SHAKE256 文件校验值计算器
在浏览器本地计算任意文件的 SHAKE256 哈希,可自选输出长度,并与预期校验值比对。无需上传文件。
必须是 8 的倍数,范围 8 到 16384 位。
尚未选择文件。选择文件后会立即显示校验值。
文件在浏 览器中分块读取,绝不会上传。
什么是 SHAKE256 文件校验?
本工具计算文件的 SHAKE256 摘要,输出长度由你选择(默认 512 位),并与预期值比对。文件在浏览器中以 4 MB 分块处理。
如何使用 SHAKE256 文件校验
- 先设置 输出长度(位)(8 的倍数,默认 512);之后修改会重新计算哈希。
- 点击拖放区域或将文件拖到上面;文件会分块读取,并显示进度条。
- 查看下方显示的 文件名 和 文件大小,确认选对了文件。
- 将发布方提供的校验值粘贴到 预期校验值(可选) 中——会显示“匹配”或“不匹配”(大小写、
0x以及末尾的文件名都会被忽略)。 - 如需十六进制大写或 Base64,请选择 输出格式,然后点击 复制。
示例
输入
A file hash-abc.txt containing the 3 bytes "abc"
输出
483366601360a8771c6863080cc4114d8db44530f8f1e1ee4f94ea37e78b5739d5a15bef186a5386c75744c0527e1faa9f8726e462a12a4feb06bd8801e751e4
输出长度 512 位。
何时使用 SHAKE256 文件校验
当发布方或规范提供了 SHAKE256 校验值,或者你需要特定长度的文件指纹时,可以使用它。对于普通的下载校验,SHA-256 校验值要常见得多。
SHAKE256 文件校验 的工作原理
文件以 4 MB 为一片读取,依次吸收进海绵;读完整个文件后才挤出输出。SHAKE256 是 FIPS 202 定义的可扩展输出函数(XOF)。它使用与 SHA-3 相同的 Keccak-f[1600] 海绵结构,容量为 512 位(速率 1088 位),域分隔后缀为 1111(填充字节 0x1F)。吸收完输入后,海绵会按所需的位数持续挤出输出,因此输出长度是一个参数,而不是算法本身的属性。较短的输出是较长输出的前缀。抗碰撞的安全强度为 min(输出位数/2, 256) 位。
常见用例
- 校验完整性清单使用 SHAKE256 的文件
- 为文件生成较短(例如 128 位)或较长的指纹
- 用真实数据交叉验证 XOF 实现
- 无需上传即可比较两个大文件
安全提示
只有当预期值来自可信来源时,校验值才能证明完整性。文件始终不会离开你的设备。
常见问题
文件会被上传吗?
不会。文件通过 File API 读取,并在你的浏览器中计算哈希。
为什么我的校验值对不上?
请确认双方使用相同的输出长度:SHAKE256 取 256 位和 512 位会得到不同的字符串(较短的是较长的前缀)。
可以对非常大的文件计算哈希吗?
可以。分块读取使内存占用很低;耗时取决于文件大小和设备速度。