关键信息
- 分类
- 安全与校验
- 输入类型
- 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 进行重新签名,生成用于安全演示的篡改令牌。
使用场景
用户案例
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 的令牌,但出于安全规范,系统永远不会将其判定为“有效签名”。