JWT 解析与签名验证器

解析 JWT 的 header/payload 并高亮显示,诊断 exp/nbf/iat/iss/aud/sub/jti 等 claim,使用 HS*/RS*/PS*/ES*/EdDSA 密钥验签,并提供篡改 payload 的伪造教学演示

粘贴一个紧凑格式 JWT(JWS),工具会:

  1. 把 header 和 payload 做 base64url 解码,渲染为可读且语法高亮的 JSON。
  2. 对 exp / nbf / iat / iss / aud / sub / jti 等 claim 做合法性诊断,标出过期、尚未生效或缺失的 claim。
  3. 使用共享密钥(HS)或 PEM/JWK 格式的非对称公钥(RS/PS/ES/EdDSA)验证密码学签名。
  4. 可选地用你的密钥重新签一个被篡改的 payload,演示为什么服务端必须固定期望的 alg,并拒绝“签名校验通过但由错误方签发”的令牌。

安全说明:

  • 验签在服务端用 Node crypto 完成,密钥不会离开本次请求。
  • alg=none 的令牌会被识别,且永远不会被判为有效。
  • 生产环境务必在自家后端强制期望的算法、issuer 和 audience;本工具仅用于检查与教学。

示例结果

1 个示例

解码并验证一个示例 HS256 令牌

查看 header、payload、claim 诊断,以及共享密钥的签名校验结果。

JWT decoded, claims diagnosed, signature verified against shared secret.
查看输入参数
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lZSIsImlhdCI6MTUxNjIzOTAyMn0.yo-bLjjeUhUPia17JiJbc2f1e0JXJIJAi4auivcB-IY", "mode": "verify", "secret": "demo-secret-2026", "publicKey": "", "forgePayload": "", "clockSkew": 0 }

关键信息

分类
安全与校验
输入类型
textarea, select, text, number
输出类型
html
样本覆盖
4
支持 API
Yes

概览

JWT 解析与签名验证器是一款用于安全调试的在线工具,支持对紧凑格式 JWT 进行 base64url 解码并高亮显示 Header 和 Payload,同时提供 exp、nbf 等标准 Claim 的合法性诊断。它支持使用 HS* 共享密钥或 RS*/PS*/ES*/EdDSA 公钥(PEM/JWK 格式)验证密码学签名,并支持通过伪造 Payload 演示签名篡改防御机制。

适用场景

  • 需要快速解码 JWT 令牌以查看其 Header 和 Payload 中的 JSON 数据及 Claim 声明时。
  • 需要使用对称密钥(HS256/384/512)或非对称公钥(RS*/PS*/ES*/EdDSA)验证 JWT 签名是否有效时。
  • 在开发或安全审计中,需要测试和演示 JWT 篡改攻击以验证后端防御逻辑时。

工作原理

  • 输入紧凑格式的 JWT 字符串,工具会自动将其 Header 和 Payload 部分进行 base64url 解码,并以高亮 JSON 格式展示。
  • 解析并诊断 exp(过期时间)、nbf(生效时间)、iat(签发时间)等标准 Claim,结合设置的时钟偏差检测令牌状态。
  • 根据选择的验证模式,使用输入的 HS* 共享密钥或 PEM/JWK 格式的非对称公钥,在服务端通过 Node crypto 模块执行密码学签名验证。
  • 在伪造模式下,使用提供的密钥对修改后的 Payload 进行重新签名,生成用于安全演示的篡改令牌。

使用场景

调试 API 接口时,快速查看前端携带的 Authorization Bearer 令牌内容及过期状态。
配置单点登录(SSO)或 OAuth2 流程时,验证身份提供商(IdP)签发的 JWT 签名是否正确。
安全测试人员模拟 JWT 篡改攻击,验证后端服务是否正确校验了签名和关键 Claim。

用户案例

1. 验证 HS256 签名的 API 访问令牌

后端开发人员
背景原因
正在对接一个使用 HS256 算法加密的第三方 API,需要确认收到的 JWT 令牌是否能用约定的共享密钥成功解密和验签。
解决问题
无法确定收到的 JWT 签名是否损坏,以及其中的过期时间(exp)是否已失效。
如何使用
在“JWT 令牌”输入框中粘贴收到的 JWT,选择验证模式为“验证签名”,在“共享密钥 (HS*)”中输入约定的密钥,点击提交。
示例配置
{
  "mode": "verify",
  "secret": "my-shared-key-123"
}
效果
成功解码出 Payload JSON,Claim 诊断显示令牌未过期,且系统提示签名验证通过。

2. 使用 RS256 公钥验证身份令牌

安全审计员
背景原因
审计系统对接的身份认证服务,该服务使用 RS256 算法签发 JWT,并公开了 PEM 格式的公钥。
解决问题
需要验证导出的 JWT 令牌是否确实由该身份服务的私钥签名,且未被篡改。
如何使用
粘贴 JWT 令牌,选择“验证签名”模式,在“公钥 PEM / JWK”输入框中粘贴 PEM 格式的公钥内容,点击验证。
示例配置
{
  "mode": "verify",
  "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0...\n-----END PUBLIC KEY-----"
}
效果
工具成功使用公钥验证了签名,并高亮显示了令牌中的 sub、aud 和 iss 等关键声明。

3. 演示 JWT 篡改与重新签名

安全培训讲师
背景原因
在内部安全培训中,讲师需要向开发团队演示如果密钥泄露,攻击者是如何篡改 Payload 并伪造合法令牌的。
解决问题
需要一个直观的工具来修改 Payload 中的角色字段(如将 user 改为 admin)并用泄露的密钥重新生成合法的 JWT。
如何使用
输入原始 JWT,选择“验证签名 + 伪造演示”模式,输入泄露的共享密钥,并在“伪造的 Payload”中填入修改后的 JSON,点击生成。
示例配置
{
  "mode": "forge",
  "secret": "weak-secret-key",
  "forgePayload": "{\"sub\":\"123456\",\"role\":\"admin\",\"exp\":1893456000}"
}
效果
工具输出了解码后的原始数据,并生成了一个包含 admin 权限且签名完全有效的新 JWT 令牌,直观展示了密钥泄露的危害。

用 Samples 测试

json

相关专题

常见问题

这个工具会泄露我的密钥或 JWT 令牌吗?

不会。虽然验签在服务端完成,但所有密钥和令牌仅用于本次请求的即时计算,绝不进行任何持久化存储或日志记录。

工具支持哪些签名算法?

支持对称加密算法 HS256、HS384、HS512,以及非对称加密算法 RS*、PS*、ES* 和 EdDSA。

为什么我的令牌提示过期,但我认为它仍然有效?

这通常是由于服务器与本地时钟不一致导致的。您可以在工具中调整“允许时钟偏差(秒)”参数来容忍微小的时钟不同步。

什么是“伪造演示”模式?

该模式允许您修改 Payload 内容并使用已知密钥重新生成签名,用于向开发人员演示如果后端未严格校验 alg 或 issuer,攻击者将如何伪造身份。

工具支持验证 alg=none 的令牌吗?

工具会识别并解码 alg=none 的令牌,但出于安全规范,系统永远不会将其判定为“有效签名”。

API 文档

请求端点

POST /zh/api/tools/jwt-inspector-verifier

请求参数

参数名 类型 必填 描述
token textarea -
mode select -
secret text -
publicKey textarea -
forgePayload textarea -
clockSkew number -

响应格式

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

AI MCP 文档

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

{
  "mcpServers": {
    "elysiatools-jwt-inspector-verifier": {
      "name": "jwt-inspector-verifier",
      "description": "解析 JWT 的 header/payload 并高亮显示,诊断 exp/nbf/iat/iss/aud/sub/jti 等 claim,使用 HS*/RS*/PS*/ES*/EdDSA 密钥验签,并提供篡改 payload 的伪造教学演示",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=jwt-inspector-verifier",
      "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]