toolfree

JWT 解码器

在浏览器里解码 JSON Web Token。权杖不会离开这个分页,而这很重要,因为 JWT 通常就是一个还活着的工作阶段。

在你的浏览器中运行

请粘贴一个令牌。

完全在这个页面里解码。JWT 通常就是一个还活着的会话,这里不会把它送到任何地方。

为什么这一个特别在意「在哪里执行」

你剪贴板里的 JWT,多半是一个还没过期的工作阶段。它不是杂凑值也不是指纹——它本身就是 凭据。任何拿到它的东西,在它过期之前都能以你的身分行动。

每一个把权杖送到服务器的线上 JWT 解码器,在那一刻就等于被交付了这个东西。大多数经营者对 你的权杖并没有兴趣;但那和「它是安全的」不是同一件事,而且你也无从查证。

这一页在分页内解码。没有任何传输,而且有一项浏览器测试断言解码一个权杖完全不会发出任何 网络请求——这个宣称是被测试过的,不只是写出来而已。

JWT 没有加密

这一点常让以为那串乱码藏着什么的人意外。

头部与内容是 base64url,不是加密。任何拿到权杖的人,不需要任何密钥就能读出里面每一个 声明——这一页做的正是这件事。签章并不隐藏内容,它只证明内容没有被窜改。

所以千万不要在 JWT 里放你不愿意写在明信片上的东西。不要放密码,也不要放你不愿意交给「最后 拿到这个权杖的人」的个人数据。

这一页比原始 JSON 多告诉你的事

看得懂的有效期限。expiatnbf 都是 Unix 秒数,没有人能一眼读懂。这里会把它们 换算成当地时间,并直接说明这个权杖是不是已经过期。

**根本没有有效期限。**缺少 exp 会被当成一件独立的事实回报,而不是「尚未过期」。一个自己 永远不会过期的权杖,是比「昨天过期」更令人不安的东西,把两者混为一谈会把它藏起来。

**alg: none。**宣告没有算法的权杖等于没有签章,所以它的任何内容都不可信。这曾是一整类 著名的身分验证绕过手法的基础:服务器被诱导接受了一个本应验证的 none 权杖。

**异常长的寿命。**有效期超过三十天的都会被标记,因为长效的持有者权杖等于一个实务上无法撤销 的凭据。

验证是另一回事

这里只做解码,不做验证。检查签章需要密钥,而把签章密钥贴进网页,比贴权杖更糟——那把密钥签的 是所有权杖,不只这一个。

请在签发它的服务器上验证,或用一个持有密钥的本机工具。

没有任何上传

完全在这个页面里解码。权杖不会被储存、不会被记录,也不会被送出。