SHAKE256 哈希生成器(可扩展输出)
在浏览器中对文本、十六进制或 Base64 输入生成任意长度(8–16384 位)的 SHAKE256 输出。FIPS 202 可扩展输出函数,支持十六进制或 Base64。
必须是 8 的倍数,范围 8 到 16384 位。
完全在浏览器中运行,您的数据不会被上传。
什么是 SHAKE256 哈希生成器?
SHAKE256 是具有 256 位安全强度的 SHA-3 可扩展输出函数:摘要长度不固定,由你决定需要多少输出位。本工具可对文本或原始字节计算 SHAKE256,输出长度可配置(默认 512 位)。
如何使用 SHAKE256 哈希生成器
- 在 要计算哈希的文本 中输入或粘贴内容——摘要会随输入实时更新(输入框为空时显示空输入的哈希值)。
- 选择 输入编码:文本 (UTF-8) 会把字符按 UTF-8 计算哈希,十六进制字节 或 Base64 则对解码后的原始字节计算哈希。
- 设置 输出长度(位)——8 到 16384 之间 8 的倍数(默认 512)。
- 选择 输出格式(十六进制小写、十六进制大写或 Base64),然后点击 复制。
示例
abc
483366601360a8771c6863080cc4114d8db44530f8f1e1ee4f94ea37e78b5739d5a15bef186a5386c75744c0527e1faa9f8726e462a12a4feb06bd8801e751e4
SHAKE256("abc"),使用默认输出长度 512 位。
何时使用 SHAKE256 哈希生成器
当协议明确指定 SHAKE256(例如 Ed448 使用 SHAKE256,ML-KEM/Kyber 和 ML-DSA/Dilithium 使用 SHAKE128/256)、需要从种子派生一串伪随机字节,或需要非标准长度的哈希时,可以使用 SHAKE256。如果只需要普通哈希,SHA3-256 或 SHA-256 更简单,兼容性也更好。需要带密钥时,请使用 KMAC,而不是把密钥和消息拼在一起哈希。
SHAKE256 哈希生成器 的工作原理
SHAKE256 是 FIPS 202 定义的可扩展输出函数(XOF)。它使用与 SHA-3 相同的 Keccak-f[1600] 海绵结构,容量为 512 位(速率 1088 位),域分隔后缀为 1111(填充字节 0x1F)。吸收完输入后,海绵会按所需的位数持续挤出输出,因此输出长度是一个参数,而不是算法本身的属性。较短的输出是较长输出的前缀。抗碰撞的安全强度为 min(输出位数/2, 256) 位。
常见用例
- 复现后量子算法规范中的 SHAKE 输出
- 派生自定义长度的指纹(例如 128 位或 1024 位)
- 为 SHA-3 / XOF 实现生成测试向量
- 把一个种子扩展成大量伪随机字节用于测试
安全提示
SHAKE256 是 NIST 批准的函数,目前没有已知的实际攻击。它本身不是密码哈希,也不是 MAC——需要带密钥的认证请使用 KMAC256。所有计算都在你的浏览器本地完成。
常见问题
SHAKE256-512 与 SHA3-512 相同吗?
不相同。它们共用 Keccak 置换,但容量和域分隔后缀不同,因此输出毫无关联。
如果要求更多的位数,开头部分会变吗?
不会。更长的 SHAKE256 输出就是较短输出后面再接更多字节。例如 SHAKE256("abc") 的前 128 位就是 128 位的结果。
输出越长就越安全吗?
只到 256 位安全强度为止。输出超过 512 位后,抗碰撞强度仍保持在 256 位。