JWT解码器

解码JWT令牌并查看其内容

粘贴JWT令牌...

JWT 的结构与解码方法

JWT(JSON Web Token)由用点号(.)分隔的三部分组成:头部、载荷和签名。头部包含签名算法(alg)和令牌类型(typ);载荷则携带用户标识、权限、签发时间(iat)、过期时间(exp)等声明。前两部分只是经过 Base64URL 编码,因此无需密钥即可读取内容。

把令牌粘贴到本工具后,头部和载荷会以格式化的 JSON 显示,签名部分也会原样呈现。若载荷中包含 exp,工具会读取该时间并判断令牌是「有效」还是「已过期」。当 API 返回 401 时,这有助于快速区分是令牌过期,还是声明内容与预期不符。

本工具只做解码,不做签名验证。验证签名需要密钥,属于服务端的职责。反过来说,载荷可被读取本身就是 JWT 的设计使然,这也正是不能把机密信息放进 JWT 的原因。解码全部在浏览器内完成,粘贴的令牌不会被发送。

常见问题

JWT 是加密的吗?
标准 JWT 的头部和载荷只是 Base64URL 编码,并未加密。任何拿到令牌的人都能读取,因此不可放入密码等机密信息。
可以验证签名吗?
本工具仅用于解码。验证签名需要密钥,应在服务端进行,因此不提供该功能。
有效期是如何判断的?
读取载荷中的 exp 声明(UNIX 时间戳),与当前时间比较后显示「有效」或「已过期」。
粘贴的令牌会被发送吗?
不会,解码完全在本地进行。但请注意有效令牌本身就是登录凭据,在共享设备上使用后请关闭页面。

相关工具