import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
import java.util.Map;
public class JwtUtils {
private static String signKey = "muyan";//key
private static long expire = 1000 * 60 * 60 * 24; //一天
/***
* 生成JWT令牌
* @param data 要存储的数据 String字符串,可以是JSON数据
* @return
*/
public static String generateJwt(String data){
String jwt = Jwts.builder()
.setSubject(data)
.signWith(SignatureAlgorithm.HS256, signKey)
.setExpiration(new Date(System.currentTimeMillis() + expire))
.compact();
return jwt;
}
/***
* 生成JWT令牌Map
* @param claims 要存储的数据 Map集合
* @return
*/
public static String generateJwtMap(Map<String, Object> claims){
String jwt = Jwts.builder()
.addClaims(claims)
.signWith(SignatureAlgorithm.HS256, signKey)
.setExpiration(new Date(System.currentTimeMillis() + expire))
.compact();
return jwt;
}
/**
* 解析JWT令牌
* @param jwt JWT令牌
* @return
*/
public static Claims parseJWT(String jwt){
Claims claims = Jwts.parser()
.setSigningKey(signKey)
.parseClaimsJws(jwt)
.getBody();
return claims;
}
}
10-28
853
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-30
1578
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-21
1242
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-16
3万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交