JWT 解码器
粘贴 JSON Web Token,即可解码其 header、payload 声明和过期时间。全程在浏览器本地运行。
Header
Payload
原始 JSON
Signature
签名未经校验 —— 校验需要密钥或公钥。
JSON Web Token 是什么?
JSON Web Token(JWT)是一项开放标准(RFC 7519),它定义了一种紧凑、自包含的方式,把信息以 JSON 对象的形式在各方之间安全传递。这些信息经过数字签名,因此可以被校验和信任。JWT 是 API 认证令牌和单点登录(SSO)会话中最主流的格式。
JWT 的结构
一个 JWT 由三部分组成,彼此用点号(.)分隔:
- Header(头部) —— 指明令牌类型(
JWT)和签名算法,例如HS256(HMAC-SHA256)或RS256(RSA-SHA256)。 - Payload(载荷) —— 包含各项声明(claims):关于用户的陈述以及任何附加元数据。标准声明包括
sub(subject,主题)、iss(issuer,签发者)、exp(expiration,过期时间)和iat(issued at,签发时间)。 - Signature(签名) —— 用密钥或私钥对编码后的 header 和 payload 签名生成,用于校验令牌未被篡改。
每个部分都采用 Base64URL 编码(与 Base64 类似,但用 - 和 _ 替换 + 和 /,且不带补位)。
如何使用本 JWT 解码器
- 把你的 JWT 粘贴到上方的输入框。
- 点击 解码 JWT,header 和 payload 会立即被解码并展示出来。
- 查看 过期标签 判断令牌是否已过期,并通过 声明表 查看签发者、主题、受众等关键字段。
- 展开 原始 JSON 可查看完整的 payload 对象。
常见问题
- JWT 是什么?
- JSON Web Token(JWT)是一种紧凑、URL 安全的令牌格式,用于在双方之间表示声明(claims)。它由三个用点号分隔的 Base64URL 编码部分组成:header(算法和令牌类型)、payload(声明 / 数据)和 signature(签名)。JWT 被广泛用于 Web API 的认证和授权。
- 把我的 JWT 粘贴到这里安全吗?
- 本工具完全在你的浏览器中运行,不会把任何数据发送到服务器。不过 JWT 属于 bearer 令牌:任何持有有效 JWT 的人都能使用它。作为通用原则,请避免把携带敏感载荷的生产环境 JWT 粘贴到任何在线工具中。尽量使用测试令牌或已过期的令牌。
- 本工具能校验 JWT 签名吗?
- 不能。签名校验需要密钥(对 HS256 等 HMAC 算法)或公钥(对 RS256 等非对称算法)。本工具只解码 header 和 payload —— 无法告诉你某个令牌是否是合法签发的,或是否被篡改过。
- JWT 声明(claims)是什么?
- 声明是编码在 payload 中、关于主题的陈述。标准(注册)声明包括:iss(签发者)、sub(主题)、aud(受众)、exp(过期时间)、nbf(生效时间)、iat(签发时间)和 jti(JWT ID)。应用也可以自定义(私有)声明。
- 过期状态是什么意思?
- exp 声明包含一个表示令牌过期时间的 Unix 时间戳。本工具会拿 exp 和你本地的时钟比较。“已过期”表示当前时间已经晚于 exp —— 任何正确实现的服务器都应该拒绝该令牌。“有效”表示令牌尚未过期。