工作原理
JSON Web Token由三段用点分隔的Base64URL组成:标头、载荷和签名。解码只读取前两段,因此可以离线完成,也不能证明签发者。只有用签发方的密钥验证签名才能证明真实性;即使签名有效,过期的令牌也应拒绝。
header.payload.signature → JSON + 日期 + 签名验证
该用哪把密钥
- HS256 / HS384 / HS512: 粘贴共享密钥文本。持有它的人既能签名也能验证。
- RS256–RS512 / PS256–PS512: 粘贴PEM(SPKI)或JWK格式的公钥。私钥由签发方保管。
- ES256 / ES384 / ES512: 粘贴PEM或JWK格式的EC公钥;令牌内的原始R‖S签名会自动转换。
- EdDSA: 粘贴32字节公钥,Base64URL或十六进制格式。
- none: 完全没有签名。此类令牌绝不能信任。
使用提示
- exp、iat和nbf会显示为日期,并标明每一项是否已经过去。
- 在这里粘贴真实访问令牌对网络是安全的,但拿到令牌的人都能使用——请用短期测试令牌。
- 一切都在浏览器内运行,不会上传任何内容。
标准与出处
- JSON Web Token(JWT):RFC 7519;JWS签名:RFC 7515
- 算法(HS/RS/PS/ES):RFC 7518;EdDSA:RFC 8032
- Base64URL:RFC 4648
最后核对 2026年10月12日
常见问题
解码能证明什么?
什么真实性都证明不了。解码只是读取任何人都能伪造的标头和载荷,只有用签发方的密钥验证签名,才能证明令牌是真的。
可以验证哪些算法?
用共享密钥的HMAC(HS256/384/512)、用PEM或JWK公钥的RSA(RS/PS)和ECDSA(ES256/384/512),以及用原始公钥的EdDSA(Ed25519)。alg为none的令牌没有签名,绝不能信任。
有效的令牌为什么被服务器拒绝?
常见原因是exp过期、audience或issuer不对,或签名方与服务器时钟不一致。本页会逐项显示日期声明,帮你找到是哪一项出了问题。
在这里粘贴真实令牌安全吗?
本页完全离线,不会发送任何内容,但拿到令牌的人在过期前都能使用。请用短期测试令牌,不要用生产环境的访问令牌。