



创建加密函数
/**
* 加密函数
* 将id,name,img存放到客户端,不占用服务端资源
* @param user
* @return
*/
public static String geneJsonWebToken(User user){
if(user == null || user.getId() == null || user.getName() == null
|| user.getHeadImg( )==null){
return null;
}
String token = Jwts.builder().setSubject (SUBJECT)
.claim( "id" ,user.getId())
.claim( "name" , user.getName())
.claim( "img" , user.getHeadImg())
.setIssuedAt(new Date())
.setExpiration(new Date (System.currentTimeMillis()+EXPIRE))//过期时间
.signWith(SignatureAlgorithm.HS256,APPSECRET).compact();//compact:将秘钥压缩
return token ;
}
创建解密函数
/**
*解密token
*@param token
* @return
* setSigningKey(APPSECRET) 解密秘钥
* parseClaimsJws(token)解密的信息
* getBody()获取解密的内容
*/
public static Claims checkJWT(String token ){
try{
final Claims claims = Jwts.parser().setSigningKey(APPSECRET)
.parseClaimsJws(token).getBody();
return claims ;
}catch (Exception e){ }
return null;
}
本文介绍了一种使用JSON Web Tokens (JWT)进行用户信息加密和解密的方法,通过具体代码展示了如何将用户ID、姓名和头像存储为JWT,以及如何解析这些信息。
902

被折叠的 条评论
为什么被折叠?



