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

}




需要引入依赖:

<!-- JWT相关 -->
<dependency>
   <groupId>io.jsonwebtoken</groupId>
   <artifactId>jjwt</artifactId>
   <version>0.7.0</version>
</dependency>

  

posted @ 2022-04-11 21:17  scwyfy  阅读(126)  评论(0)    收藏  举报