Base64URL 编解码

Base64URL(URL 安全的 Base64 变体,用于 JWT/JWS/JWE)编解码,并支持标准与 URL 安全 Base64 互转

关键信息

分类
转换与编码
输入类型
textarea, select
输出类型
text
样本覆盖
4
支持 API
Yes

概览

Base64URL 编解码工具专为处理 URL 安全的 Base64 编码而设计,支持文本与 Base64URL 的相互转换,以及标准 Base64 与 Base64URL 格式的快速互转。它是生成和解析 JWT、JWS、JWE 等令牌的理想工具,能有效避免“+”、“/”和“=”等字符在 URL 传输中引起的解析错误。

适用场景

  • 在开发或调试 JWT (JSON Web Token) 时,需要对 Header 或 Payload 进行符合 RFC 7515 规范的 Base64URL 编码或解码。
  • 需要将标准的 Base64 字符串转换为 URL 安全的格式,去除填充字符并替换特殊字符。
  • 在通过 URL 参数传递二进制数据或哈希值时,需要确保数据不会被浏览器或服务器误解析。

工作原理

  • 在输入框中输入需要处理的原始文本、标准 Base64 字符串或 Base64URL 字符串。
  • 选择所需的操作类型,包括“编码为 Base64URL”、“从 Base64URL 解码”、“标准 → Base64URL”或“Base64URL → 标准”。
  • 根据需要选择输出编码格式(UTF-8 文本或十六进制字符串),工具将实时生成转换后的结果。

使用场景

JWT 令牌手动解析:安全工程师或后端开发人员需要快速查看 JWT 载荷中的 JSON 数据内容。
API 接口参数安全传输:在构建 RESTful API 时,将敏感的标识符或哈希值转换为 Base64URL 格式以作为 URL 路径参数传递。
数据格式兼容转换:将旧系统中生成的标准 Base64 编码数据转换为现代 Web 服务所需的 Base64URL 格式。

用户案例

1. JWT Payload 解码

后端开发人员
背景原因
开发人员在调试 OAuth2 认证流程时,获取到了一个 JWT 访问令牌,需要确认其中包含的 scopes 和过期时间。
解决问题
JWT 的 Payload 部分是 Base64URL 编码的,无法直接阅读,且包含 URL 安全字符。
如何使用
复制 JWT 中间部分的 Payload 字符串,粘贴到输入框中,选择操作为“从 Base64URL 解码”,输出编码保持为“UTF-8 文本”。
示例配置
operation: decode, outputEncoding: utf-8
效果
成功解码出清晰的 JSON 文本,展示了用户的权限列表和过期时间戳。

2. 标准 Base64 转换为 URL 安全格式

前端工程师
背景原因
前端需要将一个包含“+”和“/”的标准 Base64 图片标识符作为 URL 参数发送给后端,但直接发送会导致 URL 解析出错。
解决问题
需要将标准 Base64 字符串中的特殊字符替换为 URL 安全字符,并移除末尾的“=”填充。
如何使用
将标准的 Base64 字符串粘贴到输入框,选择操作为“标准 → Base64URL”。
示例配置
operation: to-base64url
效果
输出去除了“=”且将“+”、“/”替换为“-”、“_”的 Base64URL 字符串,可安全用于 URL 传参。

3. 解码二进制哈希值为十六进制

安全审计员
背景原因
审计员在分析网络请求时,截获了一个 Base64URL 编码的加密哈希值,需要将其还原为十六进制格式以进行特征比对。
解决问题
直接解码为 UTF-8 文本会产生乱码,因为哈希值是原始二进制数据。
如何使用
输入 Base64URL 编码的哈希字符串,选择操作为“从 Base64URL 解码”,并将输出编码设置为“十六进制字符串”。
示例配置
operation: decode, outputEncoding: hex
效果
成功获取到 32 字节的十六进制哈希字符串,便于在安全数据库中进行检索。

用 Samples 测试

base64, text

相关专题

常见问题

Base64URL 与标准 Base64 有什么区别?

Base64URL 将标准 Base64 中的“+”替换为“-”,“/”替换为“_”,并省略了末尾的填充字符“=”,使其可以直接安全地放在 URL 中传输。

这个工具支持将标准 Base64 直接转换为 Base64URL 吗?

支持。您只需在操作中选择“标准 → Base64URL”,输入标准的 Base64 字符串即可完成转换。

解码时如果遇到非 UTF-8 的二进制数据该怎么办?

您可以在“输出编码”选项中选择“十六进制字符串”,以便以十六进制格式查看解码后的原始二进制数据。

为什么 Base64URL 解码后没有填充字符“=”?

根据 RFC 7515 规范,Base64URL 编码通常会移除末尾的“=”填充字符。解码器在处理时会自动计算并补齐所需的填充。

这个工具是否支持 JWT 令牌的解析?

支持。JWT 的三部分(Header、Payload、Signature)都是使用 Base64URL 编码的,您可以将各部分分别复制到本工具中进行解码查看。

API 文档

请求端点

POST /zh/api/tools/base64url-encoder

请求参数

参数名 类型 必填 描述
inputText textarea -
operation select -
outputEncoding select -

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-base64url-encoder": {
      "name": "base64url-encoder",
      "description": "Base64URL(URL 安全的 Base64 变体,用于 JWT/JWS/JWE)编解码,并支持标准与 URL 安全 Base64 互转",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=base64url-encoder",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]