<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
public class JwtUtil {
public static String SECRET = "djkahfkjhdlkajjdwajdjajwdjdlawjjdwj";
public static String createJWT(String id,Map map) {
long ttlMillis=96 * 60 * 60 * 1000;
SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;
long nowMillis = System.currentTimeMillis();
Date now = new Date(nowMillis);
byte[] apiKeySecretBytes = DatatypeConverter.parseBase64Binary(SECRET);
Key signingKey = new SecretKeySpec(apiKeySecretBytes, signatureAlgorithm.getJcaName());
JwtBuilder builder = Jwts.builder().setId(id).setIssuedAt(now).signWith(signatureAlgorithm,signingKey);
builder.claim("name", map);
if (ttlMillis >= 0) {
long expMillis = nowMillis + ttlMillis;
Date exp = new Date(expMillis);
builder.setExpiration(exp);
}
return builder.compact();
}
public static Claims parseJWT(String jwt) {
return Jwts.parser().setSigningKey(DatatypeConverter.parseBase64Binary(SECRET)).parseClaimsJws(jwt).getBody();
}
public static JSONObject validateJWT(String jwtStr) {
JSONObject pojo = new JSONObject();
Claims claims = null;
try {
claims = parseJWT(jwtStr);
pojo.put("Success", true);
pojo.put("Claims", claims);
} catch (Exception e) {
pojo.put("Success", false);
pojo.put("ErrCode", 1004);
e.printStackTrace();
}
return pojo;
}