JWT 解码器 - 在线解码 JWT 令牌
免费在线 JWT 解码器。直接在浏览器中解码 JSON Web Token 并查看 JWT 头部和负载。
什么是 JWT?
JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在各方之间以 JSON 对象安全传输信息。JWT 是紧凑的、URL 安全的令牌,广泛用于 Web 应用中的认证、授权和信息交换。一个 JWT 由三部分组成:头部、负载和签名,用点分隔。头部和负载是 Base64URL 编码的 JSON 对象——任何人都可以解码,只有签名需要密钥来验证。
JWT 工作原理
JWT 广泛用于现代 Web 应用的无状态认证。当用户登录时,服务器创建一个包含用户信息的 JWT 并用密钥签名。客户端存储令牌并在每次后续请求中发送它。服务器可以使用密钥验证令牌的真实性,无需维护会话状态。JWT 也用于单点登录(SSO)、API 授权(Bearer 令牌)和服务间安全信息交换。
JWT 结构详解
头部
包含令牌的元数据,包括签名算法(如 HS256、RS256)和令牌类型(JWT)。头部始终是 Base64URL 编码的 JSON。
负载
包含声明——关于用户和其他数据的声明。常见声明包括 sub(主题)、name(名称)、iat(签发时间)和 exp(过期时间)。负载是 Base64URL 编码的 JSON,任何人都可以解码查看。
签名
使用头部中指定的算法,组合编码后的头部、编码后的负载和密钥生成。签名验证令牌未被篡改且来自可信来源。
JWT 解码器与 JWT 验证器
JWT 解码器仅解码 JWT 的 Base64URL 编码的头部和负载部分——不需要密钥。任何拥有令牌的人都可以查看其内容。JWT 验证器更进一步:验证密码学签名以确认令牌的真实性,检查过期时间,验证签发者,并确保令牌未被篡改。此工具仅为 JWT 解码器——不执行任何签名验证或校验。
常见 JWT 声明
issIssuer(签发者)— 谁签发了令牌subSubject(主题)— 令牌的主体是谁audAudience(接收方)— 令牌的目标接收者expExpiration(过期时间)— 令牌何时过期iatIssued At(签发时间)— 令牌何时创建如何使用 JWT 解码器
- 1
将您的 JWT 令牌粘贴到输入区域
- 2
工具自动解码并显示头部和负载
- 3
点击「复制」复制解码后的头部或负载 JSON
- 4
使用示例令牌按钮查看 JWT 解码示例
常见问题
JWT 能在没有密钥的情况下解码吗?
可以。JWT 的头部和负载部分使用 Base64URL 编码——这是一种可逆编码,而非加密。任何拥有令牌的人都可以解码这些部分来查看内容。只有签名需要密钥来验证。这就是为什么永远不应在 JWT 负载中存储敏感数据;它只应包含公开的、非敏感的信息。
解码操作会验证 JWT 签名吗?
不会。此工具仅解码 JWT 的头部和负载。它不执行密码学签名验证。要完整验证 JWT,您需要密钥(HMAC 算法)或公钥(RSA/ECDSA 算法)以及 JWT 验证库。
Base64 和 Base64URL 有什么区别?
Base64URL 是 Base64 编码的变体,适用于 URL 安全场景。它将 '+' 替换为 '-',将 '/' 替换为 '_',并移除 '=' 填充字符。JWT 使用 Base64URL 确保令牌可以安全地包含在 URL 和 HTTP 头中,无需额外编码。
我的 JWT 令牌会发送到服务器吗?
不会。所有 JWT 解码完全在您的浏览器中使用 JavaScript 完成。您的令牌数据永远不会离开您的设备——我们不会上传、存储或分享任何令牌数据。您的隐私和安全得到完全保护。