工具用的顺手吗?
你的反馈能帮助我们做得更好
支持SHAKE-128/256的可变长度哈希生成器,提供盐值、多轮迭代及多种输入输出格式。
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
输入 abc 后,本页可计算 128 位的 SHAKE-128 结果或 256 位的 SHAKE-256 结果,并把同一组摘要字节显示成十六进制与 Base64。SHAKE 属于 SHA-3 标准中的可扩展输出函数(XOF):标准形式写作 SHAKE128(M, d) 或 SHAKE256(M, d),其中 M 是消息,d 是所需输出位数。与 SHA3-256 这类固定输出函数不同,SHAKE 算法本身允许调用方指定输出长度。
页面名称沿用常见的“哈希计算”说法,但这里执行的不是加密:计算过程没有密钥,也不存在对应的“解密”操作。相同的文本、算法和输出位数会得到相同摘要;任何字符、大小写或空白变化都会成为消息的一部分,结果通常随之改变。
NIST FIPS 202 指出,SHAKE128 和 SHAKE256 名称中的 128、256 表示它们通常可支持的安全强度,不像 SHA3-256 名称中的数字那样直接规定摘要长度。本页为了便于直接比较,为两个变体分别采用固定预设,因此数字恰好也等于这里的输出位数,但不能据此把 SHAKE 误解为固定长度算法。
| 页面选项 | 本页输出 | 字节数 | 十六进制字符数 |
|---|---|---|---|
| SHAKE-128 | 128 位 | 16 | 32 |
| SHAKE-256 | 256 位 | 32 | 64 |
若协议要求 160 位、512 位或其他长度,本页没有自定义长度控件,不能用截断、补零或重复摘要来冒充协议要求的 SHAKE 输出。应改用能明确传入 d 的合规实现,并记录长度单位究竟是位还是字节。
输入框按文本接收内容,中文、英文和符号会按 UTF-8 字节序列参与计算。结果区的“小写”和“大写”只是同一摘要的十六进制字母大小写不同,例如 ab 与 AB 的显示风格不同,但代表的字节完全相同。Base64 也不是又算了一次 SHAKE,而是把同一组摘要字节换成另一种可打印编码。
=。指南
按步骤完成操作,并通过示例核对输入与结果。
选择 SHAKE-128 或 SHAKE-256。若结果要交给程序、协议或测试用例,应先从对方文档确认算法名称与输出位数;本页两个选项分别固定为 128 位和 256 位。
粘贴或输入待计算内容。不要擅自删除换行、尾随空格、制表符或改变字母大小写;这些差异都会改变参与计算的 UTF-8 字节。输入区为空时不会显示摘要。
文本改变后,结果区会给出小写十六进制、大写十六进制和 Base64。它们对应同一摘要字节,选择下游系统要求的表示即可。
复制结果时一并记录变体、预设位数、输入编码和输出编码。例如写成“SHAKE-256,256 位,UTF-8 输入,小写 Hex”,比只保存一串字符更利于复核。
把输入框内容精确设为小写 abc,不要添加引号、空格或换行。可得到以下结果:
| 选项 | 小写十六进制结果 |
|---|---|
| SHAKE-128(128 位) | 5881092dd818bf5cf8a3ddb793fbcba7 |
| SHAKE-256(256 位) | 483366601360a8771c6863080cc4114d8db44530f8f1e1ee4f94ea37e78b5739 |
SHAKE-128 这一行的 Base64 为 WIEJLdgYv1z4o923k/vLpw==;它与同一行十六进制值表示相同的 16 字节。再把输入改成中文 你好,SHAKE-128 的 128 位小写十六进制结果为 2c8206e6e29e0e3c9d64e9455629cd35。这个对照可用于确认 UTF-8 文本是否按预期传入;若只在末尾多一个空格,摘要也会不同。
场景
查看这项工具在不同工作与生活流程中的用法。
开发者已经有一段 UTF-8 文本,且目标系统明确采用本页的 128 位或 256 位预设时,可以计算后比对结果。比对前还要确认对方给出的是 Hex 还是 Base64。
学习 SHA-3 家族时,可保持输入不变,切换 SHAKE-128 与 SHAKE-256,观察预设长度和摘要内容的变化。页面结果适合说明“变体”和“输出表示”是两个不同层次。
团队拿到同一摘要的大小写 Hex 或 Base64 版本时,可按需要复制统一格式,减少因显示编码不同造成的误判。这个操作只改变表示,不改变摘要字节。
问答
集中解答高频疑问与容易混淆的问题。
不是。SHA-256 属于 SHA-2 家族并固定输出 256 位;SHAKE256 是 SHA-3 标准中的可扩展输出函数,算法本身可指定输出长度。本页只是把 SHAKE-256 固定为 256 位预设。
先核对输出位数。SHAKE-128 本身允许不同长度,本页固定输出 128 位;其他实现可能请求 256 位、512 位或按字节填写长度。算法相同但 d 不同,完整字符串长度自然不同。
安全性没有区别。三种显示都源于同一摘要字节,区别只在编码方式和可读性;应按接收系统约定选择,不能把格式变化当作再次哈希或加密。
逐项检查原文大小写、前后空格、换行符、Unicode 字符、UTF-8 编码以及输出编码。复制富文本内容时还可能混入不可见字符,最稳妥的排查方法是先用 abc 对照上方示例,再回到真实输入。
须知
使用前了解适用范围、结果限制与必要提醒。
本页处理文本,提供 SHAKE-128 的 128 位预设和 SHAKE-256 的 256 位预设。页面没有文件输入、Hex/Base64 原始字节输入、自定义输出长度、密钥、盐值或迭代次数设置。
推荐
查找相关工具、专题与可用的 API 能力。