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));
}
}
```