JWT 解析
解析 JSON Web Token,以可读格式查看头部、载荷与各项声明,并即时判断令牌是否过期。解析全程在本地完成,且不校验签名。
粘贴一个 JSON Web Token,用可读的形式查看它的三个部分:带签名算法的头部、带各项声明的载荷,以及签发时间、生效时间与过期时间的可读时间戳。工具会立即告诉你令牌是否已经过期,以及将在什么时候过期。
当 API 返回 401,而你需要判断问题出在签名、受众,还是仅仅因为令牌过期时,这是日常调试中必做的一步。一切都在你的浏览器里解码,所以生产环境的令牌不会被发送到任何地方。
如何解析 JSON Web Token
粘贴令牌
查看头部、载荷与过期时间
需要时复制载荷 JSON
常见问题
它会校验签名吗?
不会——这一点很重要。解码只对各个部分做 base64url 解码,所以内容可读,但并没有被证明是真实的。在服务器校验签名之前,绝不要把解码出来的令牌当作可信内容。
怎么知道令牌过期了没有?
exp 声明是以秒为单位的 Unix 时间戳,工具会把它和当前时间比较,显示对应日期以及令牌是否仍然有效。
exp、iat 和 nbf 有什么区别?
iat 是令牌的签发时间,nbf 是它最早可以被使用的时间,exp 是它失效的时间。令牌只有在 nbf 与 exp 之间才是可接受的。
把真实令牌粘到这里安全吗?
解码完全在你的浏览器里进行,所以令牌不会被传输出去。但无论如何都要把令牌当作凭证:不要粘进你不信任的站点,如果它可能已经泄露,就立刻轮换。
为什么我的令牌报错?
JWT 恰好由三个以点分隔的部分组成。缺少某一部分、中间有换行,或者它其实是一个不透明的会话 ID,都会被报告为不是 JWT。
我的令牌会被上传吗?
不会,解码在本地完成。
一览
| 输入 | 文本 |
|---|---|
| 多个文件 | 否 |
| 运行位置 | 在你的浏览器中——文件永远不会被上传 |
| 离线可用 | 是 — 页面加载完成后 |
| 价格 | 免费,无需注册,无水印 |
安全地处理机密信息
开发者工具处理凭据的频率比人们意识到的更高,而风险不在于算法,而在于数据去了哪里。哈希是单向的,它不是加密——MD5 和 SHA-1 在任何与安全有关的用途上都已被攻破,即使是 SHA-256,用来存储密码也是用错了工具,bcrypt、scrypt 或 Argon2 存在的意义恰恰就是慢。Base64 是一种编码,不是保护:任何人都能解码,所以千万不要把它当作混淆。JWT 任何持有它的人都能读取,因此载荷里绝不能放机密,而解码一个令牌并不验证它的签名——验证需要密钥。本站的一切都在你的浏览器中本地运行,这正是它能够安全处理令牌和密码的原因。
转换在哪里悄悄出错
大多数转换缺陷与语法无关,而与含义有关。一列邮编的 CSV 字段会在表格软件猜它是数字的那一刻丢掉前导零;一个很长的 ID 会超出浮点精度;日期会因为先写日还是先写月而意思大变。JSON 的键是无序的,但数组是有序的,排序键的工具不会改变任何东西,而排序数组的工具会改变数据。Unicode 是另一个陷阱:文本可能以 UTF-8、UTF-16 或带字节顺序标记的形式到来,解码器猜错就会把带重音的字符变成乱码。在信任任何转换之前,抽查第一行和最后一行、任何带前导零的字段,以及任何含有引号、逗号或换行的字段。