1.POM依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
2.JwtUti.java
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class JWTUtil {
private final static String KEY = "myScrect";//签名秘钥
private final static long TOKEN_EXP = 1000 * 60 * 10;//过期时间,测试使用十分钟
//生成Token
public static String getToken(String Uniqueness) {
return Jwts.builder().setSubject(Uniqueness).signWith(SignatureAlgorithm.HS512, KEY).compact();
}
//解析Token
public static String analysisToken(String Token) {
System.out.println(Jwts.parser().setSigningKey(KEY).parseClaimsJws(Token).getBody());
return Jwts.parser().setSigningKey(KEY).parseClaimsJws(Token).getBody().getSubject();
}
//判断是否为空
public static boolean isTokenExpired(String Token) {
return Jwts.parser().setSigningKey(KEY).parseClaimsJws(Token).getBody().getExpiration().before(new Date(System.currentTimeMillis()));
}
}
3.测试
//唯一ID
String Token = JWTUtil.getToken(userid);
System.out.println(JWTUtil.getToken(userid));
System.out.println(Token);
//解析Token
String user = JWTUtil.analysisToken(Token);
@RequestMapping("/B")
public String B(String Token){
String user = null;
try {
System.out.println(JWTUtil.isTokenExpired(Token));
if (JWTUtil.isTokenExpired(Token)){
return "'flag':'0'";
}
user = JWTUtil.analysisToken(Token);
}catch (Exception e){
System.out.println(e.getMessage());
}
return user;
}