关于在线JWT调试
hidevtool JWT 调试器在浏览器内解码 JSON Web Token:查看 Header/Payload JSON、签名算法,并可用 HMAC 密钥或 PEM 公钥可选验签。
验签在本地完成,Token 与密钥不会上传到服务器。
在线JWT调试能力
什么是 JWT?
JWT(JSON Web Token)是 Header.Payload.Signature 三段 Base64URL 组成的紧凑字符串,常携带用户标识、权限、过期时间等声明,并通过签名或 MAC 保证未被篡改。
三段结构说明
- Header:JSON,通常含 typ(多为 JWT)与 alg(签名算法)。
- Payload:JSON 声明,可含 sub、exp、iat 等标准字段。
- Signature:签发方用密钥对前两段签名,篡改会导致验签失败。
常见 Payload 声明
- sub:主体(用户或客户端标识)。
- exp:过期时间(Unix 秒),过期后 Token 无效。
- iat / nbf:签发时间与生效时间,便于排查时钟偏差。
- aud / iss:受众与签发者,API 常据此做校验。
验签密钥类型
- HMAC(HS256/384/512):填写与签发方相同的对称密钥。
- RSA / ECDSA(RS、PS、ES):粘贴与私钥对应的 SPKI PEM 公钥。
安全使用建议
- 1生产密钥仅在本机可信环境使用;虽为本地运算,仍勿随意泄露。
- 2使用前关注 exp、nbf;本工具会将时间声明转为本地可读时间。
- 3Header 中的 alg 须与所填密钥一致,警惕异常的 alg 降级攻击。
- 4JWT 默认只签名不加密,持有 Token 即可读 Payload(除非使用 JWE)。
- 5OAuth/OIDC 场景宜缩短访问令牌有效期并配合刷新与密钥轮换。
常见应用场景
OAuth / OpenID
查看 IdP 下发的访问令牌或 ID Token,用配置的密钥或 JWKS 公钥在本地验签。
API 网关
排查 Kong、NGINX 或云 API 网关拒签问题,对照 alg、声明与签名。
会话 Cookie
解码应用写入 Cookie 的 JWT,查看过期与角色,无需把 Cookie 发到第三方解码服务。
常见问题
- 支持哪些 JWT 签名算法的验签?
- 本页可在浏览器内验签以下 Header alg(共 12 种): HMAC(填写对称密钥):HS256, HS384, HS512 RSA PKCS#1(SPKI PEM 公钥):RS256, RS384, RS512 RSA-PSS(SPKI PEM 公钥):PS256, PS384, PS512 ECDSA(SPKI PEM 公钥):ES256, ES384, ES512 暂不支持:alg 为 none、EdDSA(如 Ed25519),以及未列出的其它算法。公钥须为 BEGIN PUBLIC KEY 的 SPKI 格式。
- JWT 怎么在线解码?
- 将 Token 粘贴到 JWT 输入框,结构有效后下方会自动显示 Header 与 Payload 的格式化 JSON。
- JWT 签名怎么在线验证?
- 粘贴 Token 后填写与 alg 匹配的 HMAC 密钥或 PEM 公钥,工具会提示签名是否匹配。
- 为什么有时无法验签?
- alg 为 none、结构损坏或未提供匹配密钥时无法验签;HS/RS/PS/ES 需填写对应密钥材料。
- 密钥会上传到服务器吗?
- 不会,解码与验签均在浏览器本地完成。