package net.jwt.utils; import io.jsonwebtoken.*; import net.jwt.domain.User; import java.util.Date; public class JwtUtil { private static final String SUBJECT = "jiajing"; //发布者 private static final Long EXPIRE = 1000 * 60 * 60 * 24 * 7L;//一周后过期 private static final String APPSECRET = "jjjjj";//密钥 /** * 生成jwt(加密) * @return 返回token */ public static String createJsonWebJwt(User user) { String token = Jwts.builder().setSubject(SUBJECT) .claim("id", user.getId()) // .claim("name", user.getName()) .claim("phone", user.getPhone()) .setIssuedAt(new Date()) .setExpiration(new Date(System.currentTimeMillis() + EXPIRE)) .signWith(SignatureAlgorithm.HS256, APPSECRET) .compact(); return token; } /** * 校验token(解密) * @param token * @return */ public static Claims checkJwt(String token) { try { Claims claims = Jwts.parser().setSigningKey(APPSECRET) .parseClaimsJws(token).getBody(); return claims; } catch (Exception e) { System.out.println("非法"); } return null; } } 需要引入依赖: <!-- JWT相关 --> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0</version> </dependency>