# JWT令牌生成器

生成带有自定义声明和算法的JWT令牌

> 标准页面: https://elysiatools.com/zh/tools/jwt-generator

- **分类:** Security

- **关键词:** jwt, 生成器, 令牌, json, web, 认证, 创建, 编码

## 概述

JWT令牌生成器是一个用于快速创建JSON Web Token (JWT) 的在线工具。您可以通过提供密钥、选择算法并配置声明（Claims），轻松生成用于Web应用认证、API授权或开发测试的标准化令牌。

## 输入项

- **密钥** (text): 输入强密钥（最少8个字符）
- **算法** (select)
- **发行者 (iss)** (text): 可选：令牌发行者（例如："my-app"）
- **受众 (aud)** (text): 可选：令牌受众（例如："my-users"）
- **主题 (sub)** (text): 可选：令牌主题（例如："user-id"）
- **过期时间（秒）** (number): 可选：令牌生存时间（秒，例如：3600为1小时）
- **自定义声明 (JSON)** (textarea): 可选：JSON格式的额外声明 示例：{"userId": 123, "role": "admin"}
- **包含JWT ID (jti)** (checkbox)
- **包含签发时间 (iat)** (checkbox)
- **包含生效时间 (nbf)** (checkbox)

## 适用场景

- 在开发或测试阶段，需要快速生成一个有效的JWT令牌来模拟用户认证或API调用。
- 在集成第三方API时，需要根据其要求的算法和声明格式生成认证令牌。
- 学习JWT结构或调试令牌验证问题时，需要创建包含特定声明（如过期时间、用户角色）的示例令牌。

## 工作原理

- 输入一个用于签名的密钥（Secret），并从下拉菜单中选择一个签名算法（如HS256）。
- 配置令牌的声明（Claims），包括标准的发行者（iss）、受众（aud）、主题（sub）、过期时间（exp）等，以及可选的自定义JSON声明。
- 根据需要勾选是否包含签发时间（iat）、生效时间（nbf）或唯一标识符（jti）。
- 点击生成按钮，工具将根据您的配置计算签名并输出完整的JWT令牌字符串。

## 使用案例

- 后端开发人员在本地调试用户登录和权限验证流程时，生成测试用JWT令牌。
- API测试工程师为验证接口的认证逻辑，批量生成包含不同角色和过期时间的测试令牌。
- 技术讲师在讲解JWT原理时，现场生成包含各种声明的示例令牌，用于课堂演示。

## 常见问题

### 密钥（Secret）有什么要求？

密钥是用于签名令牌的机密字符串，建议使用足够复杂和随机的强密钥，长度最好不少于8个字符，以确保安全性。

### HS256、HS384、HS512算法有什么区别？

它们都是基于HMAC的签名算法，主要区别在于使用的SHA-2哈希函数位数不同（256、384、512位），位数越高，理论安全性越强，但计算开销也略大。

### 什么是声明（Claims）？

声明是JWT令牌中携带的关于实体（通常是用户）和其他数据的陈述。标准声明如iss（发行者）、exp（过期时间）有预定义含义，您也可以添加自定义声明（如userId, role）来传递业务数据。

### 如何设置令牌的过期时间？

在“过期时间（秒）”输入框中填入一个数字，表示从令牌签发时刻开始计算的有效秒数。例如，填入3600表示令牌在1小时后过期。

### 生成的令牌是什么格式？

生成的令牌是标准的JWT格式，由三部分组成：头部（Header）、载荷（Payload）和签名（Signature），各部分之间用点（.）分隔，最终输出为一个紧凑的URL安全字符串。

## 相关工具

- [JWK 生成与解析器](https://elysiatools.com/zh/tools/jwk-generator): 生成 RSA、EC（P-256/P-384/P-521/secp256k1）与 OKP（Ed25519/Ed448/X25519/X448）的 JSON Web Key，或解析已有 JWK 以查看参数、指纹与元信息
- [Data URI 生成器](https://elysiatools.com/zh/tools/data-uri-generator): 将文件转换为 Data URI（Base64 或百分号编码），用于直接在 HTML、CSS 或 Markdown 中内联图片、字体等资源
- [Markdown 表格生成器](https://elysiatools.com/zh/tools/markdown-table-generator): 从 CSV、JSON 或数组数据生成格式化 Markdown 表格，支持对齐、表头样式、列宽控制和合并提示
- [OpenAPI 转 TypeScript 类型生成器](https://elysiatools.com/zh/tools/openapi-to-typescript-generator): 将 OpenAPI 或 Swagger 的 JSON/YAML 规范转换为 TypeScript 接口类型、请求参数类型和响应类型，并支持输出格式与命名风格配置
- [数据透视表生成器](https://elysiatools.com/zh/tools/pivot-table-generator): 从CSV/JSON数据生成交互式数据透视表，支持自定义行、列和值字段配置
- [颜色 Token 级联生成器](https://elysiatools.com/zh/tools/color-token-cascade-generator): 输入一个主色 Hex，自动生成主色、辅助色、中性色和语义化设计 token，并输出 CSS 变量与 Style Dictionary JSON
- [健身训练 PDF 生成器](https://elysiatools.com/zh/tools/fitness-workout-pdf-generator): 从 JSON 或 CSV 训练计划数据生成可打印 PDF，包含动作表格、进度格子和可选的视频二维码
- [甘特图生成器](https://elysiatools.com/zh/tools/gantt-chart-generator): 创建专业甘特图，支持任务时间线、依赖关系、进度跟踪和里程碑标记

## 示例

- [JWT 示例](https://elysiatools.com/zh/samples/jwt-samples): 从基础令牌结构到高级安全实现的全面JWT示例
- [Terraform Plan JSON 样本](https://elysiatools.com/zh/samples/terraform-plan-json-samples): 用于依赖可视化和变更审查的 Terraform plan JSON 文件样本，贴近 terraform show -json 输出结构
- [十六进制/Unicode转换样本](https://elysiatools.com/zh/samples/text-hex-unicode-formats): 十六进制和Unicode转义序列转换的测试样本
- [WebRTC 实时通信示例](https://elysiatools.com/zh/samples/webrtc-samples): 全面的 WebRTC 示例，用于点对点音视频通信、数据通道、屏幕共享和信令服务器实现

## 相关内容

- [JWT 构造与安全审查](https://elysiatools.com/zh/hubs/jwt-construction-and-security-review): 生成受控 JWT 测试样本或检查已获授权的样本，审查 Claim、算法、过期状态、敏感字段和签名证据，并明确解码不等于验签。
- [获授权 JWT、OTP、TOTP 与会话测试工作流](https://elysiatools.com/zh/hubs/token-session-and-2fa-workflows): 准备脱敏认证 fixture，区分令牌生成、解码与校验，测试 OTP/TOTP 的时间行为，并在不暴露真实密钥的前提下审计 JWT 与会话证据。
- [凭据与 JWT 安全检查工作流](https://elysiatools.com/zh/hubs/auth-token-security): 生成或验证密码凭据，检查 JWT 结构与安全信号，并明确区分私钥对与密码工具。
