Base32 解码器
将 Base32 或 base32hex 解码回 UTF-8 文本或十六进制字节。不区分大小写,填充可选,忽略空格,适合处理 TOTP 密钥。
48 个字符 · 48 字节(UTF-8)
0 个字符 · 0 字节(UTF-8)
完全在浏览器中运行,您的数据不会被上传。
什么是 Base32 解码?
将 Base32(RFC 4648)解码回原始字节,并以 UTF-8 文本或十六进制显示。输入不区分大小写,= 填充是可选的,空格(如分组显示的 TOTP 密钥中的空格)会被忽略。
如何使用 Base32 解码
- 将 Base32 字符串粘贴到输入中。
- 选择它编码时使用的字母表(标准或扩展十六进制)。
- 在输出中查看文本;对于 TOTP 密钥这类二进制数据,请将输出格式设为十六进制字节。
- 复制结果。
示例
输入
mzxw6ytboi
输出
foobar
接受小写且无填充的输入。
何时使用 Base32 解码
适合查看 2FA 密钥、洋葱服务密钥或 NSEC3 哈希等 Base32 值。TOTP 密钥是随机字节,因此应以十六进制而不是文本查看。
Base32 解码 的工作原理
每个字符在所选字母表中查找,得到一个 5 位的值;这些位被连接起来,每满 8 位构成一个字节。按照 RFC 4648 的规定,末尾剩余的位会被丢弃。无效字符和不可能的长度(最后一块为 1、3 或 6 个字符)会作为错误报告。
常见用例
- 将 TOTP 密钥转换为十六进制,供要求原始密钥的库使用
- 调试其他系统生成的 Base32
- 验证 RFC 4648 测试向量
常见问题
为什么我的 TOTP 密钥解码后是奇怪的字符?
TOTP 密钥是随机字节,不是文本。请将输出格式选为十六进制字节。
0、1 和 8 这样的字符允许吗?
标准字母表(A–Z、2–7)中不允许,它们会触发“无效字符”错误;但在 base32hex 中是有效的。
大小写有影响吗?
没有,输入在解码前会被转换为大写。