
JWT 解码器将 JSON Web 标记分割成三个点分隔的段,base64url 解码头和有效负载,并将两者都呈现为格式化的 JSON。 JWT 没有加密 - “编码”只是 base64url,一个可逆的转换 - 因此任何持有令牌的人都可以读取其中的所有声明。 此工具可立即进行检查:粘贴来自 Set-Cookie 标头、授权标头(自动剥离承载前缀)或验证提供商的仪表板的令牌,并准确查看您的服务器在其中放置了什么。
声明表是实际进行调试的地方。 注册时间声明 - expiration,IAT(发出)和 NBF(不是之前) - 是 Unix 时间戳,无法读取原始内容。 解码器将每个日期和相对时间转换为人的日期和相对时间(“3小时前到期”,“在14分钟内过期”),并以红色标记过期令牌。 大多数“401 未经授权,但令牌看起来很好”的事件归结为过期的 EXP、时钟偏差的 NBF 或与 API 验证的 AUD 声明不匹配的声明 - 所有这些都可以在两秒钟内看到。
此工具故意不做的一件事:验证签名。 验证需要签名密钥 (HS256) 或公钥 (RS256/ES256),客户端工具要求您粘贴 HMAC 机密将教授坏习惯。 解码是 100% 客户端 - 令牌永远不会离开您的浏览器,没有服务器,并且出现在无请求日志中,这很重要,因为实时生产 JWT 是一个承载凭证。 任何拥有它的人,都是你。
解码不是验证,区别是JWT的整个安全模型。 头和有效负载是 base64url,未加密,因此任何持有令牌的人都可以在没有任何密钥的情况下读取其中的所有声明。 签名提供的是内容未被更改的证明,并且检查它需要密钥或公钥,这是一个服务器端操作。 将有效负载视为公共信息:切勿将任何敏感内容放入其中。
将 JWT 放入输入区域。 从浏览器 DevTools 网络选项卡、Cookie、本地存储或 CURL 响应中的授权标头获取它。 自动剥离前缀的“不定载体”前缀和周围空白,因此您可以粘贴完整的标题值而无需清理。
两个段都并排呈现为格式化的 JSON。 标头告诉你签名算法(ALG:RS256、HS256等) 和密钥 ID (kid) - 当您的 JWKS 轮换行为不端时很有用。 有效载荷包含声明:Sub、ISS、AUD、范围、角色以及您的 Auth 层添加的任何自定义数据。
时间声明(exp、iat、nbf)从 Unix 秒解码为具有相对时间的可读日期。 一个过期的经验以红色显示,它的失误时间是有效的;有效的 1 显示为绿色显示,剩余时间。 如果将来NBF - 通常在您的服务器之间的时钟偏差 - 令牌即使“看起来”很好也将被拒绝。
此工具从不检查签名 - 它需要密钥或公钥,并且属于您的服务器,而不是浏览器工具。 永远不要将解码的声明视为可信输入:攻击者可以使用他们想要的任何有效负载铸造令牌。 只有经过验证的签名证明索赔来自您的发行人未经修改的发卡。
纯打字稿中的base64url解码-格式化和可立即读取的JSON段
到期时,EXP 声明标记为红色,有效时为绿色,无论哪种方式都有确切的相对时间
exp、IAT和NBF从原始Unix秒转换为ISO日期和“3小时前”风格的表达
粘贴整个授权标头 - “不记名”和杂散的空白自动被剥离
Generate MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashes from any text
Generate strong, random passwords with custom character sets and strength analysis
Test how strong a password is with an entropy-based strength meter, estimated crack times, and specific suggestions to make it harder to guess - all processed privately in your browser.
Paste a User-Agent string and read the browser, rendering engine, operating system, device type and CPU it describes, all in your browser.
0 comments
No comments yet. Be the first to share your thoughts!