什么是 Base64?
Base64 是一种将二进制数据转换为可打印 ASCII 字符的编码方案。由 RFC 4648 定义,是现代互联网协议的基础之一。名称来自 64 字符字母表:大写字母(A–Z)、小写字母(a–z)、数字(0–9)和两个特殊字符(+ 和 /)。每 3 字节原始数据转换为 4 个 Base64 字符,数据量增加约 33%。
工作原理
输入数据被分割为 3 字节(24 位)的块。每个块分为四组 6 位,每组替换为对应的 Base64 字符(值 0–63)。若最后一块不完整,则添加 = 填充字符。
主要应用场景
JWT 令牌
JSON Web Token 由三个 Base64URL 编码的部分组成:头部、载荷和签名。URL 安全变体将 + 替换为 -,将 / 替换为 _,使令牌可在 URL 中直接使用。开发者常用 Base64 解码器查看 JWT 内容。
HTTP Basic 认证
HTTP Basic Auth 将用户名和密码(以 : 连接)进行 Base64 编码后放入 Authorization 请求头。这不是加密——没有 HTTPS 时凭据可被读取。
邮件附件(MIME)
SMTP 只能传输 ASCII 文本。MIME 标准将附件编码为 Base64,使其能通过邮件服务器传输。PDF、图片等附件正是这样发送的。
CSS Data URI
小图片、SVG 图标或字体可直接嵌入 CSS:background: url('data:image/png;base64,...'),减少额外的 HTTP 请求。
REST API 与数据库
JSON 只能传输文本数据。因此图片或二进制数据在 API 请求体中以 Base64 编码传输。许多云服务要求以 Base64 格式上传文件。
Base64 ≠ 加密
Base64 不是安全技术。任何人无需密钥即可在数秒内解码。将密码或个人数据仅以 Base64 存储是严重的安全漏洞。请使用 AES-256 或 RSA 进行真正的数据保护。
URL 安全变体(Base64URL)
RFC 4648 §5 定义了 Base64URL:+ 变为 -,/ 变为 _。对于 OAuth 2.0 PKCE、JWT 和现代 API 不可或缺。
隐私保护
本工具所有处理在浏览器本地完成,不向任何服务器发送数据。
评论