想要使用jwt需要先导入依赖
<!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt --> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency>
封装类如下所示
1 package com.huoziqi.springboot.utils; 2 3 /** 4 * @version 1.0 5 * @Author 作者名 6 * @Date 2022/8/13 10:19 7 */ 8 9 import io.jsonwebtoken.Jwt; 10 import io.jsonwebtoken.JwtBuilder; 11 import io.jsonwebtoken.Jwts; 12 import io.jsonwebtoken.SignatureAlgorithm; 13 14 import java.util.Date; 15 import java.util.HashMap; 16 import java.util.Map; 17 18 /** 19 * JsonWebToken 20 * 该工具类用来创建token 和验证token 21 * 22 * 将用户id转换成token信息传到前端 23 * 在访问路径是会对token进行验证 24 * 判断是否正处于登录状态 25 */ 26 public class JWTUtils { 27 28 /** 29 * 三部分组成 30 */ 31 //密钥 32 private static final String jwtToken = "123456huoziqi!@#$$"; 33 34 /** 35 * 生成token 36 * @param userId 37 * @return 38 */ 39 public static String createToken(Long userId){ 40 Map<String,Object> claims = new HashMap<>(); 41 claims.put("userId",userId); 42 43 JwtBuilder jwtBuilder = Jwts.builder() 44 .signWith(SignatureAlgorithm.HS256, jwtToken) // 签发算法,秘钥为jwtToken 45 .setClaims(claims) // body数据,要唯一,自行设置 46 .setIssuedAt(new Date()) // 设置签发时间 47 .setExpiration(new Date(System.currentTimeMillis() + 24 * 60 * 60 * 60 * 1000));// token过期时间 48 //生成最终加密后的token 49 String token = jwtBuilder.compact(); 50 return token; 51 } 52 53 /** 54 * 解析token 55 * @param token 56 * @return 57 */ 58 public static Map<String, Object> checkToken(String token){ 59 try { 60 Jwt parse = Jwts.parser().setSigningKey(jwtToken).parse(token); 61 return (Map<String, Object>) parse.getBody(); 62 }catch (Exception e){ 63 e.printStackTrace(); 64 } 65 return null; 66 67 } 68 69 public static void main(String[] args) { 70 String token = createToken(1l); 71 72 System.out.println(token); 73 System.out.println(); 74 System.out.println(); 75 Map<String, Object> map = checkToken(token); 76 Integer o = (Integer) map.get("userId"); 77 System.out.println(map.get("userId")); 78 System.out.println(o); 79 } 80 81 }
标签:封装,String,JWTUtils,userId,System,token,jsonwebtoken,import From: https://www.cnblogs.com/qijiangforever/p/17418859.html