#01
什么是 JWT?
JWT(JSON Web Token)是一种紧凑、URL 安全的令牌格式,由 RFC 7519 定义,用于在双方之间以 JSON 的形式安全传递信息。
一个完整的 JWT 由三段以点号分隔的 Base64URL 字符串组成,分别是 Header(头部)、Payload(载荷)和 Signature(签名)。Header 声明签名算法与令牌类型,Payload 承载业务声明(如用户 ID、角色),Signature 确保前两段内容在传输过程中未被篡改。
本工具可在浏览器本地同时生成签名与解析已有 Token,是调试 API、测试 HS256/RS256/ES256 签名的高效辅助手段。
#02
常见算法与声明用法
JWT 支持两类主流签名算法:对称签名(如 HS256/HS384/HS512)和 非对称签名(如 RS256/RS384/RS512、ES256/ES384/ES512)。
- HS256/HS384/HS512:基于 HMAC 的对称签名,服务端与客户端共享同一密钥。实现简单、计算开销低,适合内部系统与单体应用。
- RS256/RS384/RS512:基于 RSA 公私钥对的签名,使用私钥签名、公钥验证,避免密钥在多方分发泄露的风险。
- ES256/ES384/ES512:基于椭圆曲线(ECDSA)的非对称签名,签名更短且计算开销低于 RSA,适合资源受限环境。
Payload 中的标准声明能显著提升令牌的可校验性:exp(过期时间)、nbf(生效时间)、iat(签发时间)、iss(签发者)、aud(受众)、sub(主题)。建议至少携带 exp,以避免过期 Token 被持续滥用。
#03
数据安全与隐私说明
请牢记:JWT 的 Payload 只是Base64 编码而非加密。任何获得 Token 的人都可轻松解码读取内容——因此切勿在 Payload 中存放密码、身份证号、手机号、银行卡号等敏感明文信息。
本工具的签名与解析过程完全发生在您的浏览器本地,不会将任何输入内容上传服务器,也不会写入 localStorage。
几条额外建议:
- 使用 生产密钥 时请在隐私窗口或离线环境操作,并及时清空输入。
- 生产环境建议至少 256 位密钥长度(HS256),并定期轮换。
- 启用 HTTPS 传输,避免 Token 在网络层面被截获。
- 服务端校验时务必同时校验 exp 与签名,禁止使用 alg=none。