很多网站和 App 登录之后,服务器会发给你一串很长的字符,比如 eyJ0eXAi... 开头的那一长串,这东西叫 JWT。它就像一张电子通行证,里面记录了你是谁、什么时候登录的、什么时候过期。但这串字符是编码过的,直接看看不懂。这个小工具就是帮你把它拆开看清楚的,同时也能反过来生成新的、或者验证手里的这串是不是真的、有没有过期。
主要功能
JWT 解密
把 JWT 字符串粘到输入框,点"解密",下面就会显示出三段内容。第一段是头部,告诉你用了什么加密方式;第二段是载荷,也就是真正装的信息,比如用户名、签发时间、过期时间这些,还会自动把时间戳翻译成看得懂的日期;第三段是签名,用来验证真伪。三段分别用不同颜色标出来,一眼就能分清。如果载荷里有过期时间,而且已经过了,旁边会直接标个红色的"过期"提醒。不想自己找示例,点"示例"就填好一个现成的。
JWT 加密
反过来,自己填头部和载荷(就是两段 JSON 格式的内容),选一个签名算法,再填上密钥,点"加密"就能生成一串完整的 JWT。生成的 JWT 会显示在下面,可以直接复制去用。头部里的算法字段会跟着你选的算法自动更新,不用手动改。同样有"示例"按钮,一键填好示范内容。
JWT 校验
如果手里已经有一串 JWT,想知道它是不是真的、内容有没有被人改过,用这个功能。把 JWT 粘进去,选好当初用的算法,填上密钥,点"校验"。校验通过就说明这串是有效的;如果签名对不上,说明密钥错了或者内容被改过;如果签名没问题但已经过了过期时间,也会单独提醒。
支持的算法很全
签名算法里有对称密钥类的 HS256、HS384、HS512,也有用公私钥的 RS、PS、ES 系列,一共 12 种。做开发时常见的基本都覆盖到了。
适合谁用
做网站、App 后端开发的人,调试登录、鉴权功能时经常要拆开 JWT 看里面装了什么;做接口测试、排查权限问题的人,用校验功能就能快速判断凭证是否有效;还有学习 JWT 原理、想直观看看它长什么样的人,拿示例一试就清楚了。
用起来什么感觉
界面顶部三个标签,点一下就切换功能。解密页上面输入 JWT,下面用表格分块展示头部、载荷、签名,字段名旁边还贴心地标了英文含义和时间。加密页按顺序填头部、载荷、算法、密钥,点一下出结果。校验页最简单,粘 JWT、选算法、填密钥、点校验。所有操作都在浏览器本地完成,内容不会上传到任何服务器,用着放心。按钮大、字清楚,手机电脑都能用。不需要安装,打开网页就能使,用完关掉就行。