Base32 是一种将二进制数据编码为 ASCII 字符串的编码方案,由 RFC 4648 标准定义。它使用 32 个字符(A-Z 不含 I、O,以及 2-7)将每 5 个字节的数据编码为 8 个字符。Base32 字符集简洁、不区分大小写,特别适合二维码、OTP 密钥、DNS 记录等场景。
Base32 使用 32 个字符(A-Z 不含 I、O + 2-7),Base64 使用 64 个字符(A-Z + a-z + 0-9 + +/)。Base32 编码密度较低(膨胀率约 60%),但字符集更简洁,不区分大小写,适合不区分大小写的环境。Base64 编码密度更高(膨胀率约 33%),适合数据传输。
• OTP 一次性密码:Google Authenticator、Microsoft Authenticator 等 2FA 应用使用 Base32 编码密钥
• 二维码编码:二维码数据量有限,Base32 的不区分大小写特性使其成为理想选择
• DNS 记录:DNS TXT 记录中传递二进制数据时使用 Base32 编码
• 短链接系统:URL 短链服务使用 Base32 生成短码
本Base32编解码工具操作简单且功能完善,以下是详细的使用指南:
编码操作:在输入框中输入需要编码的文本内容(支持中文、Emoji及所有Unicode字符),工具会实时将文本转换为Base32编码字符串。输入框下方会显示字符数和字节数统计,帮助你了解数据规模。编码结果会显示在结果区域,点击「复制」按钮即可将结果复制到剪贴板。
解码操作:将Base32编码字符串粘贴到输入框,工具会自动识别并尝试解码。如果启用了「自动检测解码」功能,工具会在检测到有效Base32字符串时自动执行解码操作。解码后的原文会显示在结果区域,你可以直接复制或进一步处理。
交换功能:使用「交换」按钮可以将输入和输出内容互换,方便进行连续编解码操作。「结果填入输入」按钮则将结果区域的内容直接填入输入框,省去手动复制的步骤。
Base32编码在安全和数据传输领域应用广泛,以下是几个典型的使用场景:
双因素认证(2FA)密钥:Google Authenticator、Microsoft Authenticator 等双因素认证应用使用 Base32 编码的密钥生成一次性密码(TOTP)。当你设置 2FA 时,应用会生成一个类似 JBSWY3DPEHPK3PXP 的 Base32 字符串,这个字符串被编码为二维码供扫描。了解 Base32 编码有助于理解 2FA 的工作原理。
二维码数据编码:二维码的容量有限(QR 码最大约 2,953 字节),Base32 编码虽然不节省空间,但由于其不区分大小写的特性,在扫描二维码时更容错,且人工抄写时不易出错。因此许多二维码应用选择 Base32 作为数据编码方案。
DNS TXT 记录:在 DNS 系统中,TXT 记录通常用于传递验证信息或配置数据。当需要传递二进制数据(如 DKIM 公钥)时,Base32 编码是一种常见的选择,因为 DNS 本身不区分大小写,Base32 的字符集正好适合这种环境。
Base32 编码原理:Base32 将每 5 个字节(40 位)的数据拆分为 8 组 5 位,每组 5 位对应一个 0-31 的索引值,再通过固定的 32 字符查找表(A-Z 不含 I、O + 2-7)转换为可打印字符。如果原始数据不是 5 的倍数,会在末尾添加 1-4 个 = 作为填充(Padding)。
Base32 与加密的关系:Base32 是编码,不是加密。编码后的数据可以被任何人解码还原,不提供任何机密性保护。但 Base32 常用于加密系统的辅助传输——例如 2FA 密钥本身使用 AES 等加密算法保护,Base32 仅用于将密钥以人类可读的形式呈现。
Base32 变体:标准 Base32(RFC 4648)是最广泛使用的变体。此外还有 Base32Hex(使用 0-9 + A-V,按数字顺序排列)和 Crockford Base32(移除了易混淆字符并添加校验位)。本工具使用标准 Base32(RFC 4648)。
Base32 使用 32 个字符(A-Z 和 2-7)编码,Base64 使用 64 个字符。Base32 字符集更简洁,不区分大小写,适合二维码、短链接等场景;Base64 编码密度更高,适合数据传输。
不是。Base32 是编码方案,不是加密方案。编码后的数据可以被任何人解码还原,不提供任何安全性保护。
会。Base32 编码后数据大约增加 60%(5字节变8字符)。例如 500 字节的数据编码后约为 800 字符。比 Base64 的 33% 膨胀率更高。
支持。工具使用 TextEncoder API 将文本转为 UTF-8 字节再编码,完整支持中文、Emoji 等多字节字符。
RFC 4648 定义了 Base16、Base32 和 Base64 的数据编码方案。标准 Base32 使用字符集 A-Z(不含 I、O)和 2-7,共 32 个字符,并规定末尾使用 = 进行填充。
Base32 常用于 OTP 一次性密码密钥(如 Google Authenticator)、二维码编码、DNS 记录、短链接系统、以及需要在不区分大小写环境中传输数据的场景。
标准 Base32 只使用大写字母 A-Z(不含 I、O)和数字 2-7。但许多解码器会忽略大小写,将输入统一转为大写后再处理。本工具支持大小写混合输入。