Developer Utility

JWT 生成器

输入 Header、Payload 和 Secret 值,生成 HS256 方式的 JWT Token,并直观查看 Header、Payload、Signature 结构。

生成 JWT 输入 Header 和 Payload JSON,即可生成测试用 JWT Token。
支持 HS256 支持开发测试中常用的 HMAC SHA-256 签名方式。
结构查看 可以将生成的 Token 分离为 Header、Payload、Signature 区域进行查看。
Algorithm HS256
Header 等待
Payload 等待
Secret 等待

JWT 输入信息

请输入 Header JSON、Payload JSON 和 Secret Key,然后生成 JWT。

安全提示

本页面仅用于开发测试中的HS256签名。请勿输入生产Secret或管理员Token,并注意JWT Payload只是编码而非加密,持有Token的人可以读取。

Header 等待
Payload 等待
Secret 等待

RFC 7518要求HS256密钥至少为32字节。生产密钥应在服务器端安全的密钥管理环境中生成和保存。

常用 Payload Claim
  • sub: 用户或对象标识符
  • name: 用户名或显示名称
  • iat: Token 签发时间
  • exp: Token 过期时间
注意

JWT Payload 很容易被解码,因此不建议放入密码、身份证号、API Key 等敏感值。

生成结果

可以查看生成的 JWT Token 以及 Header、Payload、Signature 结构。

等待中
JWT 生成结果将显示在这里。
Header
-
Payload
-
Signature
-
使用指南

区分HS256签名与加密后再生成JWT

从JSON Header、Payload和测试Secret创建开发用JWT。Payload仍可读取,签名不会隐藏其内容。

适用人群

  • 准备本地API测试数据的开发者
  • 学习JWT分段结构的人

使用场景

  • 生成HS256测试令牌。
  • 比较UTF-8 JSON和Base64url分段。

从输入到检查结果

  1. 1

    输入HS256 Header对象和Payload对象。

  2. 2

    只使用可公开的测试声明。

  3. 3

    本工具的exp、nbf、iat请填写整数Unix秒。

  4. 4

    生成随机测试密钥,或输入至少32个UTF-8字节。

  5. 5

    生成后查看三段内容,并在目标应用中验证。

使用示例 1

Unicode声明

输入
Header {"alg":"HS256"};Payload {"name":"テスト😀"};随机Secret
结果
生成三个Base64url段,解码Payload后保留原始Unicode文本。

签名使用显示的Secret字符串的UTF-8字节,不会自动按十六进制解码。

使用示例 2

修改输入

输入
生成后编辑Payload或清空表单
结果
旧令牌失效,之前未完成的签名也不会随后覆盖新状态。

请针对新输入重新生成。

计算与处理原理

将JSON转换为UTF-8和Base64url,以点连接Header与Payload,再通过Web Crypto HMAC-SHA-256签名。随机Secret由32随机字节显示为64个十六进制字符,签名使用这个显示字符串。

限制与注意事项

  • 仅支持HS256,拒绝crit扩展和未编码的Payload。
  • 整数NumericDate是本工具较严格的输入规则,RFC的一般数字定义更宽。
  • 不验证发行者、受众、期限、权限或撤销策略。
  • 长度不代表不可预测性,测试密钥建议使用随机生成按钮。
数据处理

JSON和密钥在本地处理。不要输入生产密钥或敏感声明,令牌及复制内容仍可被读取。

相关工具

常见问题

会加密Payload吗?

不会,持有令牌的人可以解码Header和Payload。

这里会拒绝过期令牌吗?

生成器检查输入形式,不检查应用声明在当前时间是否有效。

服务器要把随机Secret按hex解码吗?

不需要,应使用同一显示字符串的UTF-8字节。按hex解码会得到不同密钥。