🔏 JWT 编码器
在本地创建并签名 HS256 JSON Web Token。
🔒 您的数据绝不会离开浏览器
已签名的令牌
在浏览器中直接创建已签名的 JSON Web Token。编辑 header 和 payload JSON,输入密钥,即可获得可用的 HS256 令牌——使用 WebCrypto 的 HMAC-SHA256 实现本地签名,数据绝不会离开您的设备。非常适合测试需要认证的 API、复现与令牌相关的问题,或学习 JWT 的结构。
使用方法
- 编辑 header: 调整 JSON 头部——默认的
{"alg": "HS256", "typ": "JWT"}适用于大多数情况。 - 编辑 payload: 添加或修改声明,例如
sub、name、iat或exp。 - 输入密钥: 输入用于签名的 HMAC 密钥。
- 复制令牌: 签名后的 JWT 会即时生成并随输入实时更新——一键复制即可。
功能特性
- 通过原生 WebCrypto API 进行 HS256(HMAC-SHA256)签名
- 预填充可自由编辑的示例 header 和 payload
- 每次修改实时重新签名——无需额外点击
- 一键复制生成的令牌
- 100% 客户端运行:无网络请求,不存储数据
什么是 JWT?
JSON Web Token 是由点连接的三段 base64url 编码:header.payload.signature。header 声明算法,payload 携带声明,签名证明令牌由持有密钥的人生成。使用 HS256 时,签名是用您的密钥对前两段计算的 HMAC-SHA256 哈希——持有相同密钥的人可以验证它,没有密钥的人无法伪造它。这种对称性正是 HS256 密钥必须小心保管的原因,也是在在线工具中只应使用测试密钥的原因。
使用场景
- API 测试: 使用自定义声明生成令牌,测试后端的授权规则。
- 调试: 用修改后的声明重建令牌,复现认证问题。
- 学习: 直观看到修改声明或密钥如何改变签名。
- 开发: 无需搭建认证服务器即可为本地服务生成令牌。
安全提示
本工具用于开发和测试。切勿把生产环境的签名密钥粘贴到任何网站——包括本网站。使用弱密钥或已泄露密钥签名的令牌可能被任何人伪造,因此在真实系统中请使用足够长的随机密钥,并且只在受信任的后端使用 HS256 令牌。如需检查已有的令牌,请使用 JWT 解码器。
相关工具
常见问题
这个 JWT 编码器支持哪种签名算法?
它使用 HS256(HMAC-SHA256)签名,这是最常用的对称 JWT 算法。同一个密钥字符串用于签名和后续验证。像 RS256 这样的非对称算法需要密钥对,这里不支持。
在这里输入密钥安全吗?
所有签名都在您的浏览器本地通过 WebCrypto API 完成——不会发送到任何服务器。不过,您仍不应把真实的生产密钥粘贴到任何在线工具中。请使用一次性的测试密钥,并轮换任何曾被粘贴过的密钥。
header 和 payload 应该是什么样子?
两个字段都期望合法的 JSON。header 通常是 {"alg": "HS256", "typ": "JWT"},payload 携带您的声明,例如 sub、name、iat 或 exp。工具预载了一个可直接编辑的可用示例。
这个工具会校验我的声明或过期时间吗?
不会。它完全按照您输入的内容签名——不会检查 exp 是否已过期,也不会检查声明名是否符合注册声明规范。请使用 JWT 解码器来检查生成的令牌。
为什么我的令牌与其他编码器的输出不同?
签名取决于编码后的 header 和 payload 的精确字节。不同的空白、键顺序或不同的密钥都会产生不同——但同样有效——的签名。