• 文库
  • 字符
  • 转换
  • 加密
  • 网络
  • 更多
    图表
    数学
    坐标
    图片
    文件
  • 文库
    字符
    转换
    加密
    网络
    更多
    图表
    数学
    坐标
    图片
    文件
logo 在线工具大全
0 评论 收藏 复制链接 分享

在线JWT Token生成

标签 jwtjson

使用浏览器API实现,Token 不会被传输到云端。
  • 基础参数
  • 标准载荷
  • 数据
  • 密钥
  • 全部信息
在线JWT Token生成-工具简介

在线JWT(JSON Web Token)生成工具,支持使用多种算法生成JWT Token,支持设置标准载荷和自定义数据。还支持生成加密的JWT Token(Encrypt JWT)。

在线JWT Token生成-使用说明
  1. 本工具支持通过 JWS(JSON Web Signature) 和 JWE(JSON Web Encryption) 生成 JWT(JSON Web Token)。 本工具同时支持解析 JWT ,解析时需要输入对应的密钥。
  2. 基础参数:设置 JWT 编码解码的基础参数。
    1. 类别:选择编码解码的对象是 JWT (JWS),还是 Encrypt JWT (JWE)。
    2. 算法(alg):选择 JWT 编码解码使用的签名算法。 JWS 支持 HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA 算法。 JWE 支持 A128KW, A192KW, A256KW, A128GCMKW, A192GCMKW, A256GCMKW, dir, RSA-OAEP, RSA-OAEP-256, RSA-OAEP-384, RSA-OAEP-512, PBES2-HS256+A128KW, PBES2-HS384+A192KW, PBES2-HS512+A256KW, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW 算法。
    3. 加密(enc):选择 JWE 加密算法,支持 A128GCM, A192GCM, A256GCM, A128CBC-HS256, A192CBC-HS384, A256CBC-HS512 算法。
    4. 类型(typ):设置或者显示 JWT typ header 值。
  3. 标准载荷:设置或者显示 JWT 标准载荷。
    1. 签发人(iss):Issuer,JWT 的颁发者,可选,值为字符串或者 URI 。
    2. 过期时间(exp):Expiration Time,当前 JWT 的过期时间,可选。值为 Unix 时间戳,单位为秒。 本工具将时间戳转换为时间显示。
    3. 主题(sub):Subject,当前 JWT 的主题或者主体,可选,值为字符串或者 URI 。
    4. Audience(aud):Audience,当前 JWT 的目标受众或者使用范围,可选,值为字符串或者字符串数组。
    5. 生效时间(nbf):Not Before,当前 JWT 的生效时间,可选。值为 Unix 时间戳,单位为秒。 本工具将时间戳转换为时间显示。
    6. 签发时间(iat):Issued At,当前 JWT 的颁发时间,可选。值为 Unix 时间戳,单位为秒。 本工具将时间戳转换为时间显示。
    7. 编号(jti):JWT ID,当前 JWT 的唯一标识,可选,值为字符串。
  4. 数据:JWT 的自定义数据(载荷)。
  5. 密钥:JWT 编码解码使用的密钥,不同的算法要求的密钥格式不同。 本工具支持 String, Hex, Base64, PKCS8_PEM, SPKI_PEM, X.509, JSON Web Key(JWK) 格式的密钥。
  6. JSON Web Token:点击生成,此处显示生成的 JWT 结果。 点击解码时,需要在此处输入 JWT 。
  7. 生成:使用填写的参数,生成一个 JWT 。
  8. 解码:解析一个 JWT,并显示其中包含的数据。解码仅需要使用 算法(alg)、密钥、JSON Web Token 参数。

什么是JSON Web Token(JWT)?

JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输JSON对象信息。 此信息可以被验证和信任,因为它是数字签名的。JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。

虽然JWT可以被加密,以提供双方之间的保密性,但我们将重点关注签名令牌。签名令牌可以验证其中包含的声明的完整性,而加密令牌可以向其他方隐藏这些声明。 当使用公钥/私钥对对令牌进行签名时,签名还证明只有持有私钥的一方才是签名方。

什么情况下应该使用JSON Web Token?

以下场景使用 JWT 将非常有用:

  1. 授权:这是使用JWT最常见的场景。一旦用户登录,每个后续请求都将包含JWT,允许用户访问该令牌所允许的路由、服务和资源。 单点登录是目前广泛使用JWT的一项功能,因为它的开销很小,并且能够在不同的域中轻松使用。
  2. 交换信息:JSON Web Token是在各方之间安全传输信息的好方法。 例如,由于JWT可以使用公钥/私钥对进行签名,因此您可以确保发件人是他们所说的人。 此外,由于签名是使用标头和有效负载计算的,因此您还可以验证内容是否未被篡改。

JSON Web Token 的结构

JWT 由 Header,Payload,Signature 三个部分组成,这三个部分使用.连接在一起。 完整形式为:xxx.yyy.zzz

  1. Header:通常由两部分组成:令牌的类型(JWT)和使用的签名算法(如HMAC SHA256或RSA)。
  2. Payload:令牌的第二部分是有效载荷,其中包含声明。声明是关于实体(通常是用户)和其他数据的声明。
  3. Signature:要创建签名部分,您必须获取编码的标头、编码的有效负载、密钥和标头中指定的算法,并对其进行签名。

更多关于 JSON WEb Token 的介绍

  1. JWT 详细介绍
  2. RFC 7519