---
url: https://docs.ogmabox.com/zh/app/utilities/decoder.md
description: 使用 Ogma 编解码器的处理链解码、编码、散列和转换数据。
---

# 编解码器 {#decoder}

编解码器通过有序的处理链转换输入数据，将每一步的输出传递给下一步。

## 布局 {#layout}

面板包含四个区域：

* **操作**（左侧）：所有可用转换的完整列表。点击任一操作即可将其加入处理链。
* **处理链**：当前步骤序列。每一步的结果都会传递给下一步。
* **输入**：要转换的文本。
* **输出**：最终结果或智能解码结果。

在输入区域粘贴或输入内容。离开页面时，输入和处理链会保留在本地。使用各自的清除控件，可以单独删除处理链或输入，而不必同时丢弃两者。

## 可用操作 {#available-operations}

### 编码和解码 {#encoding-and-decoding}

* Base64 编码 / 解码
* URL 编码 / 解码（百分号编码）
* HTML 实体编码 / 解码
* 十六进制编码 / 解码

### 散列 {#hashing}

| 散列 | 说明 |
|---|---|
| MD5 | 不具备抗碰撞性；保留用于兼容旧系统 |
| SHA1 | 已不建议用于安全用途 |
| SHA256 | 通用 |
| SHA512 | 通用，摘要更长 |

散列是单向操作。输出为输入字节的十六进制摘要。

### 其他操作 {#other-operations}

* **JWT 解码**：将令牌拆分为标头、载荷和签名，并对前两部分进行 Base64 解码。
* **AES-256-CBC 加密 / 解密**：使用你提供的十六进制密钥和 IV 进行对称加密。
* 工具新增的其他操作也会出现在列表中。

## 使用处理链 {#working-with-recipes}

* **添加步骤**：点击左列中的操作，将其追加到处理链底部。
* **重新排列步骤**：将处理链列中的步骤拖到新位置，输出链会立即更新。
* **删除步骤**：点击步骤上的删除控件，后续输出会重新计算。
* **复制输出**：点击任一步骤的复制按钮，将该步骤的输出复制到剪贴板。

## 典型用途 {#typical-uses}

* 解码经过两次 URL 编码的参数，以读取实际值。
* 对令牌进行 Base64 解码，再应用 JWT 解码以读取声明。
* 对字符串进行散列，与已存储的摘要比较。
* 串联 Base64 解码 > URL 解码，以处理序列化 Cookie 中的嵌套编码。

## 相关页面 {#related-pages}

* [JWT](./jwt.md)
* [比较](./compare.md)
* [测试载荷](./payloads.md)
