开发者 / 令牌

JWT编码器和生成器

根据JSON负载创建并签名JSON Web Token,支持HS256/384/512、RS256/384/512、PS256/384/512或ES256/384,并可快速添加iat和exp声明,用于测试API。

JWT编码器和生成器: JWT由三个以点号连接的Base64url部分组成:标明算法的标头、包含声明的负载,以及针对前两部分生成的签名。HMAC算法使用共享密钥签名;RSA和ECDSA使用私钥签名,任何持有公钥的人都可以验证签名。签名使用浏览器的Web Crypto API;ECDSA签名会写成JWS所要求的64或96字节r‖s值。 完全在浏览器中本地运行,文件不会上传到服务器。

使用次数
在浏览器中
费用
免费·无需注册
可用性
可直接使用
JWT编码器本地处理

完全在浏览器中运行

令牌会在浏览器中使用Web Crypto进行签名。请使用测试密钥:粘贴到任何网页中的密钥都应视为已泄露。

标准声明

iss表示令牌的签发者,sub表示令牌所代表的主体,aud表示令牌的目标对象,exp表示过期时间,nbf表示生效时间,iat表示签发时间,jti表示唯一ID;时间均为自1970年1月1日起经过的秒数。访问令牌的有效期应保持较短,从几分钟到一小时不等,并在每次请求时检查exp和aud。

要读取令牌,请使用JWT解码器;要检查令牌签名,请使用JWT验证器。

none算法

一些库曾经接受alg为none且没有签名的令牌;服务器必须始终决定接受哪些算法,绝不能信任令牌自己的标头。因此,此工具只提供带签名的算法。

使用方法

  1. 选择算法;如果服务器要求密钥ID,请添加密钥ID。
  2. 编辑JSON负载;一键设置iat或过期时间。
  3. 输入共享密钥,或粘贴PKCS #8 PEM格式的测试私钥,然后复制令牌。

隐私与限制

负载和密钥会保留在浏览器中。仅使用测试密钥。

相关工具

常见问题

JWT经过加密吗?

没有:任何人都可以通过解码Base64url读取已签名JWT的负载。签名只能证明令牌由谁创建,以及内容未被更改;切勿将秘密放入负载。

我应该使用哪种算法?

如果由同一个服务创建并检查令牌,请使用HS256;如果由其他服务使用公钥验证令牌,请使用RS256或ES256。ES256生成的令牌更短。

我的密钥以BEGIN RSA PRIVATE KEY开头。现在该怎么办?

这是PKCS #1格式;请使用openssl pkcs8 -topk8 -nocrypt -in key.pem进行转换,输出浏览器接受的BEGIN PRIVATE KEY格式。

免费工具·使用在浏览器中次·无需账户