Base32 编解码

🔤 Base32 Encode/Decode

Encode and decode data with Base32 (RFC 4648) in your browser — useful for case-insensitive keys and legacy systems.

📐 工作原理与说明
按 RFC 4648 把字节流每 5 位一组映射为可打印字符,适合大小写不敏感的场景。
  • 分组:每 5 字节(40 位)切为 8 个 5 位组,每组映射字母表 A–Z 与 2–7。
  • 填充:不足 5 字节时低位补 0,输出用 = 补齐到 8 的倍数。
  • 优势:字母全大写、剔除易混字符,适合 DNS 记录、OTP 密钥等不区分大小写的载体。
  • 变体:z-base-32、Crockford Base32 的字母表与填充规则与标准不同,不可混用。

📖 算法说明

Base32 将字节序列按 5 位一组映射到 A-Z2-7 共 32 个字符,末尾用 = 填充至 8 字符倍数。

每 5 字节 → 8 字符;适用于 DNS、不区分大小写场景。

📚 深度解析:Base32 编码 / 解码

💡 常见使用场景

  • 在只允许大写字母和数字的场合(如一次性口令、分享码)用 Base32 避免大小写混淆。
  • Google Authenticator 等 TOTP 密钥通常以 Base32 存储,便于人工抄写。
编码 "Hello"
输入 `Hello` → 输出 `JBSWY3DP`(不含填充时为 8 字符;Base32 仅用 A–Z 与 2–7)。

❓ 常见问题(FAQ)

Base32 与 Base64 有何区别?
Base32 字符集仅 32 个且无小写,抗误读更强但体积更大(约 8/5 倍)。
为什么 Base32 末尾有等号填充?
Base32 每 5 字节(40 位)切成 8 个 5 位组;原文长度不是 5 的倍数时,末组不足 5 位,需补 0 并用 = 填充到 8 个字符(可能补 1、3、4 或 6 个等号)。去掉填充不影响解码,但需按 RFC 4648 规则补回。
⚠️ 使用说明与注意事项
📖关于「Base32 编解码」 ▼

📝工具简介

Base32 编解码。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。