JwtUtil 工具类
1 导入Jwt依赖
//导入jwt
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.4.1</version>
</dependency>
2 JwtUtil
package com.demo.util;
import com.alibaba.fastjson.JSON;
import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTDecodeException;
import com.auth0.jwt.exceptions.JWTVerificationException;
import com.auth0.jwt.interfaces.Claim;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.demo.entity.Admin;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class JwtUtil {
private static final String SECRET = "my_secret";
private static final long EXPIRATION = 1000;
public static String createToken(Admin admin) {
Date expireDate = new Date(System.currentTimeMillis() + EXPIRATION * 1000);
Map<String, Object> map = new HashMap<>();
map.put("alg", "HS256");
map.put("typ", "JWT");
String token = JWT.create()
.withHeader(map)
.withClaim("id", admin.getId())
.withClaim("userName", admin.getAdmin())
.withClaim("password", admin.getPassword())
.withExpiresAt(expireDate)
.withIssuedAt(new Date())
.sign(Algorithm.HMAC256(SECRET));
return token;
}
public static boolean verifyToken(String token) {
try{
DecodedJWT jwt=JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);
}catch (Exception e){
return false;
}
return true;
}
public static Long getIdToken(String token) throws JWTDecodeException{
return JWT.decode(token).getClaim("id").asLong();
}
}
3 Demo 一下
@Test
public void demo() {
Admin admin = new Admin();
admin.setId(3);
admin.setAdmin("panghu");
admin.setPassword("123");
String token = JwtUtil.createToken(admin);
System.out.println(token);
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/e50f3a85b859456dbbfadf1c48cc8f91.png#pic_center)