JWT 解码器/编码器
JWT 解码器/编码器是一款用于 JSON Web Token(JWT)处理的开发工具,支持解码查看 JWT 内容、验证签名有效性,以及使用多种算法编码生成新的 JWT, 适用于 API 开发、身份认证调试、令牌分析等场景。
什么是 JWT
JSON Web Token(JWT)是一种开放标准(RFC 7519),用于在各方之间安全地传输信息。JWT 由三部分组成:头部(Header)、载荷(Payload)和签名(Signature),使用点号分隔。
头部包含令牌类型和签名算法信息,载荷包含声明(Claims)即实际传输的数据,签名用于验证令牌未被篡改。JWT 广泛应用于 Web 应用的身份认证、单点登录、API 授权等场景。
功能特点
粘贴 JWT 后工具自动解码并显示头部和载荷的 JSON 内容。支持使用密钥(对称算法)或公钥(非对称算法)验证签名有效性,确保令牌未被篡改。
支持常见的 JWT 签名算法,包括对称算法(HS256、HS384、HS512)和非对称算法(RS256、RS384、RS512、ES256、ES384、ES512 等)。
可以自定义头部和载荷内容,选择签名算法,输入密钥或私钥,生成符合标准的 JWT。支持设置过期时间,自动计算 exp 字段。解码后的头部和载荷以格式化的 JSON 形式展示,验证结果直观显示。
使用方法
切换到"解码"模式,在输入框粘贴完整的 JWT 字符串,工具自动解码并显示头部和载荷内容,查看令牌包含的声明信息,点击复制按钮获取 JSON 内容。
验证签名时,在解码模式下粘贴 JWT, 查看头部中的 alg 字段确定签名算法,根据算法类型输入密钥或公钥,工具自动验证签名并显示结果。
编码生成 JWT 时,切换到"编码"模式,选择签名算法,编辑载荷内容添加自定义声明,设置过期时间如 2h(2 小时)、30m(30 分钟)、1d(1 天),输入密钥或私钥,工具自动生成 JWT。
签名算法说明
对称算法(HMAC)
非对称算法(RSA/ECDSA)
应用场景
开发 API 时解码 JWT 查看请求中携带的用户信息和权限声明,验证签名确保令牌来自可信来源。分析第三方服务返回的 JWT, 了解令牌结构和包含的用户信息。在开发环境生成测试用的 JWT, 模拟不同用户、权限或过期时间,测试应用的认证逻辑。检查 JWT 是否包含敏感信息,验证签名算法是否安全。
使用建议
对称算法的密钥和非对称算法的私钥必须严格保密,不要在客户端代码、版本控制系统或公开位置存储密钥。对称算法的密钥长度应至少与算法哈希长度一致,非对称算法建议使用 2048 位以上的 RSA 密钥。
JWT 应设置较短的过期时间(如 15 分钟到 1 小时),减少令牌被盗用的风险。JWT 的载荷是 Base64 编码,任何人都可以解码查看,不要在载荷中存储密码、信用卡号等敏感信息。
接收到 JWT 后必须验证签名有效性,防止令牌被篡改。生产环境推荐使用 RS256 或 ES256 等非对称算法,便于公钥分发和密钥管理。
注意事项
JWT 是编码和签名,不是加密。任何人都可以 Base64 解码查看载荷内容,签名只能验证令牌未被篡改,不能保护内容隐私。
JWT 包含完整的载荷信息,令牌体积较大。在 HTTP 头部传输时,过大的 JWT 可能导致性能问题,载荷应保持精简。
JWT 一旦签发,在过期前无法撤销。如需撤销,需要在服务器端维护黑名单,失去 JWT 的无状态优势。JWT 的 exp 和 iat 字段依赖系统时钟,确保服务器时钟同步。
在本工具中输入的 JWT 和密钥在浏览器本地处理,不会上传到服务器,但仍建议不要在生产环境的真实密钥中使用此工具。
常见问题
JWT 可以用来加密数据吗?
不可以,JWT 是签名和编码,不是加密,载荷内容可以被任何人 Base64 解码查看,如需加密应使用 JWE。
为什么验证签名总是失败?
检查密钥或公钥是否正确,算法是否与 JWT 头部的 alg 字段一致,非对称算法确保使用正确的公钥/私钥对。
如何生成 RSA 密钥对?
可以使用 OpenSSL 生成:openssl genrsa -out private.pem 2048(私钥)和 openssl rsa -in private.pem -pubout -out public.pem(公钥)。
特点
- 所有处理在浏览器本地完成,不依赖第三方服务
- 更加注重隐私保护
- 支持多种签名算法(HS256/RS256/ES256 等)
- 支持解码和编码双向操作
- 支持设置过期时间,自动计算 exp 字段
- 实时验证签名有效性



