JWT 加解密
解码 · 签发 · 验签 · 本地安全
JWT 加解密
就绪
ABOUT
关于 JWT 加解密
调试 JWT 认证流程:解码 Header/Payload、本地签发测试 Token、验证签名是否有效。
401 Unauthorized、invalid signature、token expired——JWT 相关问题占 API 联调 ticket 的显著比例。本地解码与验签让你在不影响生产密钥安全的前提下快速定位 claims 与算法配置问题。
DEEP DIVE
深入了解 JWT 加解密
JWT(JSON Web Token)由 Header、Payload、Signature 三段 Base64URL 编码组成,以点号分隔。JSONSort JWT 工具自动解码前两段为 JSON,支持 HS256/RS256 等算法的本地签发与验签,密钥与 Token 全程不离开浏览器。
OAuth 2.0、OpenID Connect、微服务间认证普遍使用 JWT。调试时最常遇到:Token 过期(exp)、issuer 不匹配、签名验证失败、claims 缺少 expected 字段等问题,本地工具可快速排查。
JWT 的 Header 声明 alg,Payload 含 exp/iat/nbf 等时间 claims。解码不验证签名,任何人都能读取 Payload——因此切勿在 JWT 中存放密码或 PII。验签才确认 Token 未被篡改且由持有密钥方签发。
FEATURES
核心能力
Token 解码
粘贴 JWT 自动解码 Header 与 Payload 为格式化 JSON。
本地签发
填写 payload 与密钥,生成 signed JWT 用于测试。
签名验证
验证 Token 签名是否有效,支持 HS256 与 RS256。
Claims 高亮
exp、iat、sub 等标准 claims 格式化展示。
密钥安全
HMAC 密钥与 RSA 私钥仅在本地 JavaScript 中使用。
即时反馈
Token 或密钥变更后立即重新解码/验签。
三段分栏
Header / Payload / Signature 分区展示,清晰对应 JWT 结构。
过期提示
解析 exp 并与当前时间对比,直观显示是否过期。
HOW TO USE
使用步骤
-
1
粘贴 JWT Token 自动解码
-
2
或填写 Payload 与密钥进行签发/验签
-
3
复制结果,密钥不离开浏览器
-
4
确认密钥与算法(HS256 / RS256)与签发方一致
-
5
调试完成后清除输入中的测试密钥与 Token
WORKFLOW
典型工作流
从导入数据到导出结果的完整流程,帮助团队统一 JWT 加解密 的使用方式。
粘贴 Token
从 Authorization header、Cookie 或日志复制 JWT。
检查 Claims
确认 sub、aud、exp、roles 等是否符合预期。
验签(可选)
输入 secret 或 PEM 公钥,验证 Signature 有效。
签发测试 Token
修改 Payload 本地签发,用于单元测试或 Mock 网关。
USE CASES
适用场景
后端开发
调试 Auth 中间件,验证签发的 Token 结构是否正确。
前端开发
解析 Access Token 中的 roles/permissions claims。
安全工程师
审计 JWT 是否含敏感 claims,验签算法是否合规。
全栈联调
OIDC 登录流程中检查 id_token 与 access_token 内容。
Identity 工程师
调试 OIDC id_token 与 access_token 的 claims 差异。
移动端
解析 App 内保存的 refresh token 结构(勿在生产机验签)。
TIPS
使用技巧
- 粘贴 Token 后先看 exp 是否过期,401 问题大半是过期导致。
- RS256 验签需粘贴 PEM 格式公钥,HS256 使用共享 secret 字符串。
- 生产密钥绝不要用在线工具,JSONSort 本地处理是更安全的选择。
- 签发测试 Token 时,payload 避免放真实用户 PII 数据。
- Header 中的 alg 必须与验签算法一致,否则验证失败。
- 解码后的 Payload 可复制到格式化工具进一步编辑 claims 再重新签发。
- Bearer 前缀需去掉,只粘贴 eyJ 开头的三段 Token。
- Clock skew:服务器与本地时差可能导致刚签发的 Token 被判 expired。
- RS256 公钥用 PEM 格式,含 BEGIN PUBLIC KEY 行。
- 调试完清除 localStorage session,避免测试 Token 残留。
LOCAL VS ONLINE
本地 vs 在线工具
JSONSort 坚持纯前端架构,以下对比说明为何本地化工具更适合处理开发数据。
TROUBLESHOOTING
常见误区与排查
实际使用中容易遇到的问题及建议处理方式,减少反复试错的时间。
invalid signature
建议:secret 不匹配或 alg 不一致;确认 HS256 vs RS256。
token expired
建议:检查 exp;调试时可签发更长 ttl 的测试 Token。
Malformed token
建议:确认三段用 . 分隔且 Base64URL 无多余空格。
公钥验签失败
建议:PEM 格式错误;确认 iss 对应的 JWKS 公钥正确。
FAQ
常见问题
密钥会上传吗?
不会。签发与验签完全在浏览器 Web Crypto / JS 中完成。
支持 RS256 吗?
支持 HS256 与 RS256。ES256 等可作为后续扩展。
没有密钥能解码吗?
Header 和 Payload 可无需密钥解码。Signature 验证才需要密钥。
Token 过期还能解码吗?
可以。解码不受 exp 限制,exp 仅影响服务端是否接受。
解码等于验证身份吗?
不等于。解码仅读取内容;验签才确认 Token 可信。
支持 encrypted JWT (JWE) 吗?
当前聚焦 JWS(签名 JWT)。JWE 需专门解密工具。
数据会上传到服务器吗?
不会。JSONSort 所有工具均在浏览器本地运行,您的输入内容不会发送到任何后端服务器。
需要注册或安装吗?
不需要。打开页面即可使用,无需账号、无需下载客户端,也支持 PWA 离线缓存。
支持多大的文件?
取决于浏览器内存,通常可流畅处理数 MB 级别的数据。超大文件建议先拆分或使用合并清理工具。