什么是JWT以及它是如何解码的?
JWT(JSON Web Token)通常由三部分组成:Header(头部)、Payload(负载)和Signature(签名),各部分之间通过英文句号分隔。本工具利用浏览器内置的JavaScript引擎,快速将您粘贴的Token字符串拆分,并把采用Base64url编码的头部和负载部分解码为人类可读的UTF-8 JSON对象。
通过这种方式,开发者无需编写任何脚本,即可直观地查看Token内部携带的所有原始声明(Claims)数据,极大地提升了日常调试API接口和身份验证逻辑的效率。
仅支持解码,不进行签名验证
需要特别明确的是,本工具执行的是单纯的“JWT解码”操作,而非“验证”或“解密”。标准的JWT内容本身是明文可见的,本工具能让这些隐藏在Base64url编码下的信息一目了然。但是,我们不会要求您输入任何Secret Key(密钥),因此无法验证该Token的签名是否被篡改,也无法确认其来源的真实性。
此外,本工具仅适用于未加密的标准JWT。如果您的系统使用的是经过加密的JWE(JSON Web Encryption),由于数据负载已被加密保护,本解码器将无法读取其内部的真实信息。
自动时间戳转换与绝对隐私安全
在排查授权过期等问题时,最常见的痛点就是手动计算Unix时间戳。本工具内置了智能转换功能,能够自动识别标准声明中的时间字段,例如 exp(过期时间)和 iat(签发时间),并将它们直接格式化为直观的本地日期和时间(如 YYYY-MM-DD 格式),让状态排查变得极其轻松。
最重要的是,所有的解码和数据解析流程都在您的设备本地闭环完成。您的JWT绝不会发起任何网络请求,也不会被传输或存储到任何外部服务器,完美满足企业级开发对敏感数据隐私的严苛要求。
常见问题
如果别人拿到了我的JWT,他们能直接读取里面的内容吗?
是的。标准的JWT仅仅经过了Base64url编码,并未进行加密处理。任何人获取到该Token后,都可以使用类似的解码工具轻易读取其Header和Payload中的信息。因此,千万不要在JWT的负载中存放密码或敏感个人信息。
使用这个工具解析JWT时,我的Token会被发送到服务器吗?
绝对不会。ToolMole的JWT解码过程完全依赖您浏览器中的JavaScript在本地执行。您的Token数据绝不会离开您的当前设备,也不会被记录或传输给任何第三方端点。
这个工具能验证JWT的签名是否有效吗?
不能。本工具仅用于解码并展示Token的明文内容,不支持输入密钥进行密码学运算。如果需要确认Token是否被篡改或伪造,您必须在服务端使用对应的公钥或私钥进行严格的签名验证。
为什么我的Token在这里解码看起来没过期,却被服务器拒绝了?
服务器拒绝Token的原因有很多种。除了 <code>exp</code>(过期时间)之外,可能您的Token签名验证失败、签发者(<code>iss</code>)不匹配、接收方(<code>aud</code>)错误,或者该Token已经被服务器端的黑名单机制主动撤销。
常见的JWT声明(如exp、iat、sub)代表什么意思?
<code>exp</code> 代表Token的过期时间,<code>iat</code> 代表签发时间,两者均为Unix时间戳;<code>sub</code> 通常指代该Token的主题(例如用户ID);<code>iss</code> 是签发该Token的系统标识;<code>aud</code> 则是该Token的预期接收方。
这个工具能处理加密的JWT(JWE)吗?
不能。本工具仅支持解码经过Base64url编码的标准JWT。对于内容已被加密的JWE(JSON Web Encryption),在没有解密密钥的情况下是无法查看其内部负载的。
发现问题或有改进建议? 告诉我们