JWT工具

# JWT工具 ### [JWTUtil.java] ```java import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; import javax.annotation.Nonnull; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class JWTUtil { private final static DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); public static String gen(@Nonnull String appId, @Nonnull String appSecret) { Algorithm algorithm = Algorithm.HMAC256(appSecret); LocalDateTime now = LocalDateTime.now(); return JWT.create() .withClaim("appId", appId) .withClaim("issueAt", now.format(DATE_TIME_FORMATTER)) .sign(algorithm); } public static Boolean verify(@Nonnull String token, @Nonnull String appId, @Nonnull String appSecret) { try { Algorithm algorithm = Algorithm.HMAC256(appSecret); JWTVerifier verifier = JWT.require(algorithm).build(); DecodedJWT jwt = verifier.verify(token); return appId.equals(jwt.getClaim("appId").asString()); } catch (Exception e) { return false; } } public static void main(String[] args) { String appId = "pms"; String appSecret = "4vfhybNZb0QNOsbfjSOe9fEBaEPSgWHZ"; String token = gen(appId, appSecret); System.out.println(verify(token, appId, appSecret)); } } ```