Base32
Base32 将二进制数据映射到 32 个字符的字母表(A-Z 与 2-7),输出全部为大写字母与数字,便于人工朗读与离线输入。
用途
在大小写不敏感环境(如文件系统、DNS)中安全表示二进制数据,并降低人工抄写错误率。
机制
将输入按 5 字节(40 位)一组划分为 8 个 5 位单元,每个 5 位值映射到 32 字符表。末尾不足 5 字节时用 = 填充至 8 字符边界。编码后长度约为原数据的 8/5。
用例
- TOTP / HOTP 一次性密码共享密钥
- DNS 中的 NSEC3 哈希表示
- BitTorrent 磁力链接
- 纸质备份密钥的人工录入
示例
- 输入
Hello输出JBSWY3DPRFC 4648 standard alphabet
常见错误
- Confusing the RFC 4648 standard alphabet with the z-base-32 alternative alphabet
- State which variant is used and document its alphabet
相关词条
Base64
Base64 是一种将任意二进制数据映射到 64 个可打印 ASCII 字符(A-Z、a-z、0-9、+、/)的编码方案,使二进制数据能在仅支持文本的通道中传输。 词汇表
Base16
Base16 即十六进制编码,将每 4 位映射为一个十六进制字符(0-9、A-F),是 RFC 4648 定义的 Base 系列中最简单的成员。 词汇表
Hexadecimal
十六进制(hex)是以 16 为基数的数制,使用 0-9 与 A-F 表示 0-15,是计算机领域最常用的底数表示法之一。 词汇表
Multibase
Multibase 是一种自描述编码前缀方案,用单个字符前缀标识后续数据的编码方式(如 B=Base64、f=hex、z=Base58BTC),由 IPFS/Multiformats 提出。 词汇表