类 UJwt

java.lang.Object
com.gdxsoft.easyweb.utils.UJwt

public class UJwt extends Object
JWT (JSON Web Token) 工具类
支持算法: HS256, HS384, HS512, RS256, RS384, RS512

HMAC 示例:
String token = UJwt.hs256Builder()
    .subject("user123")
    .claim("role", "admin")
    .expiration(new Date(System.currentTimeMillis() + 3600000))
    .create("my-secret-key");

UJwt.JwtToken jwt = UJwt.verifyHs256(token, "my-secret-key");
String sub = jwt.getSubject();
RSA 示例:
URsa rsa = new URsa();
rsa.generateRsaKeys(2048);

String token = UJwt.rs256Builder()
    .publicKey(rsa.getPublicKey())
    .privateKey(rsa.getPrivateKey())
    .subject("user123")
    .create();

UJwt.JwtToken jwt = UJwt.verifyRs256(token, rsa.getPublicKey());
  • 字段详细资料

  • 方法详细资料

    • hs256Builder

      public static UJwt.Builder hs256Builder()
      创建 HS256 Builder
      返回:
      Builder
    • hs384Builder

      public static UJwt.Builder hs384Builder()
      创建 HS384 Builder
      返回:
      Builder
    • hs512Builder

      public static UJwt.Builder hs512Builder()
      创建 HS512 Builder
      返回:
      Builder
    • hmac256Builder

      public static UJwt.Builder hmac256Builder()
      创建 HMAC256 Builder(HS256 别名)
      返回:
      Builder
    • hmac384Builder

      public static UJwt.Builder hmac384Builder()
      创建 HMAC384 Builder(HS384 别名)
      返回:
      Builder
    • hmac512Builder

      public static UJwt.Builder hmac512Builder()
      创建 HMAC512 Builder(HS512 别名)
      返回:
      Builder
    • rs256Builder

      public static UJwt.Builder rs256Builder()
      创建 RS256 Builder
      返回:
      Builder
    • rs384Builder

      public static UJwt.Builder rs384Builder()
      创建 RS384 Builder
      返回:
      Builder
    • rs512Builder

      public static UJwt.Builder rs512Builder()
      创建 RS512 Builder
      返回:
      Builder
    • parse

      public static UJwt.JwtToken parse(String token) throws Exception
      解析 JWT Token(不验证签名,仅解析 Header 和 Payload)
      参数:
      token - JWT Token 字符串
      返回:
      JwtToken
      抛出:
      Exception - Token 格式或 JSON 解析错误
    • verifyHmac

      public static UJwt.JwtToken verifyHmac(String token, String secret) throws Exception
      验证 HMAC 签名的 JWT Token (HS256/HS384/HS512)
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken 验证通过后返回解析的 Token
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyHs256

      public static UJwt.JwtToken verifyHs256(String token, String secret) throws Exception
      验证 HS256 签名的 JWT Token
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyHs384

      public static UJwt.JwtToken verifyHs384(String token, String secret) throws Exception
      验证 HS384 签名的 JWT Token
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyHs512

      public static UJwt.JwtToken verifyHs512(String token, String secret) throws Exception
      验证 HS512 签名的 JWT Token
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyHmac256

      public static UJwt.JwtToken verifyHmac256(String token, String secret) throws Exception
      验证 HMAC256 签名的 JWT Token(HS256 别名)
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyHmac384

      public static UJwt.JwtToken verifyHmac384(String token, String secret) throws Exception
      验证 HMAC384 签名的 JWT Token(HS384 别名)
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyHmac512

      public static UJwt.JwtToken verifyHmac512(String token, String secret) throws Exception
      验证 HMAC512 签名的 JWT Token(HS512 别名)
      参数:
      token - JWT Token
      secret - 密钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyRsa

      public static UJwt.JwtToken verifyRsa(String token, RSAPublicKey publicKey) throws Exception
      验证 RSA 签名的 JWT Token (RS256/RS384/RS512)
      参数:
      token - JWT Token
      publicKey - RSA 公钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyRs256

      public static UJwt.JwtToken verifyRs256(String token, RSAPublicKey publicKey) throws Exception
      验证 RS256 签名的 JWT Token
      参数:
      token - JWT Token
      publicKey - RSA 公钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyRs384

      public static UJwt.JwtToken verifyRs384(String token, RSAPublicKey publicKey) throws Exception
      验证 RS384 签名的 JWT Token
      参数:
      token - JWT Token
      publicKey - RSA 公钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyRs512

      public static UJwt.JwtToken verifyRs512(String token, RSAPublicKey publicKey) throws Exception
      验证 RS512 签名的 JWT Token
      参数:
      token - JWT Token
      publicKey - RSA 公钥
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误
    • verifyRsa

      public static UJwt.JwtToken verifyRsa(String token, byte[] publicKeyX509) throws Exception
      验证 RSA 签名的 JWT Token(公钥为 X509 编码的字节数组)
      参数:
      token - JWT Token
      publicKeyX509 - 公钥的 X509 编码字节
      返回:
      JwtToken
      抛出:
      Exception - 签名无效或 Token 格式错误