之前有文档详细介绍过jwt的用途,这里抽取集成为工具类,从代码切入整合。代码进行了详细的注释基本上手可用。代码是从现有的项目中截取而来。
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;
import java.security.Key;
import java.util.Date;
/**
* jwt工具类
* @ClassName: JWTUtil
* @author: flitsneak nonagonjava
* @date: 2020-12-1
*/
public class JwtUtil {
/**
* token加密时使用的密钥
* 一旦得到该密钥也就可以伪造token了
*/
public static String sercetKey = "Melladesk";
/**
* 代表token的有效时间,设置为30分钟,不定时刷新。
*/
public final static long keeptime = 1800000;
/**
* JWT由3个部分组成,分别是 头部Header,载荷Payload一般是用户信息和声明,签证Signature一般是密钥和签名
* 当头部用base64进行编码后一般都会呈现eyJ...形式,而载荷为非强制使用,签证则包含了哈希算法加密后的数据,包括转码后的header,payload和sercetKey
* 而payload又包含几个部分,issuer签发者,subject面向用户,iat签发时间,exp过期时间,aud接收方。
* @Title: generateToken |

最低0.47元/天 解锁文章
310

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



