jwt工具类


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

}




需要引入依赖:



   io.jsonwebtoken
   jjwt
   0.7.0