Base32 编码器和解码器
Base32 使用 32 个字符表示二进制数据,数字 2-7 和 26 个大写字母,不包含 0/O 或 1/I,以避免读错。这让它非常适合任何需要人类输入或朗读的内容:双因素 TOTP 密钥、兑换码、大小写不敏感的标识符。这个工具会把文本编码为 Base32,也能解码回来,遵循 RFC 4648 并使用标准的 = 填充。
如何编码或解码 Base32
-
1
粘贴要转换的文本
输入会按字节处理。文本输入默认解释为 UTF-8。
-
2
选择方向
编码会把原始字节变成 Base32 字符串;解码会恢复字节。
-
3
注意填充行为
RFC 4648 会用 `=` 把编码结果补齐到 8 的倍数。解码器同时接受带填充和不带填充的输入。
-
4
复制结果
编码输出为大写,并用 `=` 填充到 8 的倍数。
RFC 4648 字母表
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7
没有 0,没有 1,没有 8,没有 9。每个字符编码 5 位(2^5 = 32),因此 5 个输入字节会变成 8 个输出字符。
示例
编码 ASCII 字符串 foo(字节 0x66 0x6F 0x6F = 01100110 01101111 01101111):
- 分成 5 位一组:
01100 11001 10111 10110 1111(最后一组进行填充) - 映射到字母表:
MZXW6 - 加上
===填充凑足 8 个字符:MZXW6===
填充和长度规则
| 输入字节数 | 输出长度 | 填充 |
|---|---|---|
| 1 | 8 | ====== |
| 2 | 8 | ==== |
| 3 | 8 | === |
| 4 | 8 | = |
| 5 | 8 | (无) |
RFC 4648 之外的变体
- Base32 Hex,字母表
0-9A-V,DNSSEC 中的 NSEC3 使用。 - Crockford’s Base32,针对人工输入优化的字母表;解码时把
O→0、I/L→1。ULID 和一些许可证密钥使用。
此工具只实现标准 RFC 4648;上述变体请使用专门的转换工具。
TOTP 密钥
Google Authenticator 和每个现代 2FA 应用使用的 otpauth:// URI 格式,会把共享密钥编码为不带填充的 Base32。当你为 “My Service” 扫描二维码时,secret= 参数就是 Base32 字符串。用这个工具解码它,就能查看 HMAC 使用的原始字节。
常见问题
Base32 大小写不敏感,并避开容易混淆的字符,这对任何人类要读取或输入的内容都很重要。Base64 更紧凑(同样的字节用更少字符),但需要区分 I 和 l、0 和 O,手写和小字号时容易失败。
RFC 4648 规定编码时需要填充。这个工具总会用 = 把编码结果补齐到 8 的倍数。多数实际使用方(TOTP 应用、ULID 库、DNSSEC 解析器)都接受不带填充的输入,这里的解码器也同时接受带填充和不带填充两种形式。
标准 Base32 没有 0、1、8 或 9,并且始终是大写。解码器会静默忽略 RFC 4648 字母表之外的任何字符,因此包含小写字母或特殊字符的输入会解码出错误的字节。解码前请把输入规范为大写字母 A-Z 和数字 2-7。
会。文本会发送到页面的服务器以便计算结果,在多步骤视图中,同样的文本也会出现在步骤链接里。它不会被存储或记录。
相关工具
Base64 文件编码器
将任意文件(PDF、ZIP、图片、可执行文件)编码为 Base64 文本,用于嵌入 JSON、邮件、YAML 或 data URI。在浏览器本地运行,无需上传。
Base58 编码器和解码器
编码 UTF-8 文本或十六进制字节,并使用 Bitcoin、Ripple 或 Flickr 字母表安全解码 Base58。
bcrypt 哈希生成器
生成 bcrypt 哈希,或用明文密码对照已有的 bcrypt 哈希进行验证。一个工具内并排支持生成和验证。
A1Z26 密码编码器
使用 A1Z26 密码(A=1, B=2, ... Z=26)编码文本,或把数字序列解码回字母,并可自定义分隔符。
校验和验证器
计算任意文本的 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC32 校验和,并与预期值比较,获得明确的匹配或不匹配结果。
SSL 证书生成器
完全在浏览器中生成自签名 SSL/TLS 证书和 RSA 私钥。自定义 Common Name、SAN 和有效期,导出为 PEM。
此工具还提供其他语言版本
- Base32エンコーダー・デコーダー [JA]
- Base32-Encoder/Decoder [DE]
- Encoder dan Decoder Base32 [ID]
- Base32 인코더 및 디코더 [KO]
- Codificador y Decodificador Base32 [ES]
- Base32-kodare och avkodare [SV]
- Bộ mã hóa và giải mã Base32 [VI]
- Base32 Kodlayıcı ve Çözücü [TR]
- Base32 encoder en decoder [NL]
- ตัวเข้ารหัสและถอดรหัส Base32 [TH]
- Base32 Encoder and Decoder [EN]
- Encodeur et décodeur Base32 [FR]
- Codificador e Decodificador Base32 [PT]
- مشفر ومفكك Base32 [AR]
- Koder i dekoder Base32 [PL]
- Codificatore e Decodificatore Base32 [IT]
- Кодировщик и декодировщик Base32 [RU]