HSM KitHSM 工具箱
中文

Base64 编码详解:标准、URL 安全与使用场景

PKI 与证书# Base64# 编码# JWT# PEM
最后更新: 2026年4月3日4 分钟阅读By HSM Kit Team
现在需要计算吗?
使用我们免费的在线 Base64 编码器/解码器 工具。

Base64 是计算机领域最常见的编码之一——您在电子邮件、JWT、证书和 API 响应中随处可见它。本文解释 Base64 的工作原理、使用场景以及您会遇到的各种变体。

什么是 Base64?

Base64 是一种将二进制数据表示为仅使用 64 个可打印 ASCII 字符的二进制转文本编码方案。当您需要通过只处理文本的系统传输二进制数据时,就会用到它。

使用的 64 个字符:

  • A-Z(26 个字符)
  • a-z(26 个字符)
  • 0-9(10 个字符)
  • +/(2 个字符)
  • = 用于填充

Base64 工作原理

Base64 将每 3 字节(24 位)二进制数据转换为 4 个字符(每个表示 6 位):

二进制:  01001101 01100001 01101110
分组:    010011 010110 000101 101110
十进制:  19     22     5      46
Base64:  T      W      F      u

填充

如果输入长度不是 3 的倍数,会添加 = 填充字符:

  • 剩余 1 字节 → 2 个 Base64 字符 + ==
  • 剩余 2 字节 → 3 个 Base64 字符 + =

大小开销

Base64 使数据大小增加约 33%(3 字节 → 4 字符)。

Base64 变体

标准 Base64(RFC 4648)

  • 使用 +/
  • = 填充
  • 用于:MIME 电子邮件、PEM 证书、大多数通用场景

URL 安全 Base64(Base64url)

  • 使用 -_ 替代 +/
  • 填充可选(通常省略)
  • 用于:JWT 令牌、URL、文件名、Web API

MIME Base64

  • 标准 Base64,每 76 个字符换行
  • 用于电子邮件附件

Base64 的常见用途

证书和密钥(PEM 格式)

每个 PEM 文件都是 Base64 编码的 DER:

-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAJC1HiIAZAiI...
-----END CERTIFICATE-----

解码此内容可获得原始 DER 字节,然后用 ASN.1 解析器 解析。

JWT 令牌

JSON Web Token 对每个部分使用 Base64url 编码:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature
  ↑ 头部(Base64url)  ↑ 载荷(Base64url)   ↑ 签名

API 响应

许多 API 以 Base64 字符串返回二进制数据(图片、文件、密码学值)。

密码学值

配置文件和 API 中的密钥材料、IV、密文通常以 Base64 传输。

Base64 与其他编码对比

编码字符集大小开销使用场景
十六进制0-9, A-F100%密码学值、调试
Base6464 个字符33%文本系统中的二进制数据
Base64url64 个 URL 安全字符33%URL、JWT
Base9494 个可打印字符~22%最大密度文本编码

如需最大密度,Base94 使用所有 94 个可打印 ASCII 字符。参见 Base94 编码器

密码学数据中的十六进制 vs Base64

在支付和 HSM 场景中,您会遇到两种格式:

格式示例(AES 密钥)长度
十六进制0123456789ABCDEF0123456789ABCDEF32 字符
Base64ASNFZ4mrze8BI0VniavN7w==24 字符
  • 十六进制在 HSM 工具和支付系统中更常见
  • Base64在 Web/API 场景和证书中更常见

字符编码转换器 可在十六进制、Base64、ASCII、二进制和 EBCDIC 之间转换。

实践:解码 Base64

检查 JWT

对于 JWT eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.xxx

  1. . 分割得到 3 部分
  2. Base64url 解码每部分(必要时添加填充)
  3. 头部和载荷是 JSON;签名是二进制

检查证书

  1. 删除 -----BEGIN CERTIFICATE----------END CERTIFICATE-----
  2. Base64 解码内容得到 DER 字节
  3. ASN.1 解析器SSL 证书解析器 解析

从 PEM 提取密钥

  1. 删除页眉/页脚行
  2. Base64 解码得到 DER
  3. RSA DER 公钥解码器 解析

常见错误

错误问题修复方案
在 URL 中使用标准 Base64+/ 破坏 URL使用 Base64url
忘记填充解码失败添加 = 填充使长度为 4 的倍数
将 Base64 与加密混淆Base64 不是加密使用 AES 进行真正的加密
重复编码数据损坏只编码一次

重要:Base64 是编码,不是加密。任何人都可以解码它。永远不要用 Base64 来"隐藏"敏感数据。

在线工具

使用 Base64 编码器/解码器

  • 将文本或十六进制编码为 Base64
  • 将 Base64 解码为文本或十六进制
  • 处理标准和 URL 安全变体
  • 自动处理填充

如需在多种格式(十六进制、Base64、ASCII、二进制、EBCDIC)之间转换,使用 字符编码转换器

相关工具
Base64 编码器/解码器