Java之Jwt令牌生成

Maven之JWT坐标

 <!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>4.4.0</version>
        </dependency>

生成JWT令牌之封装

package mybatisdemo.Utils;

import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTCreator;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;

import java.util.Calendar;
import java.util.Map;

public class JwtUtils {
    private static final String SIGN="ITWZH";//密钥
    /*
    * 生成JTW令牌
    * */
    public static String getToken(Map<String,String>map){
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.SECOND,3600);//定义过期时间,单位 DATA为天,SECOND单位为秒
        //创建Jwt builder
        JWTCreator.Builder builder = JWT.create();//创建对象
        //payload
        map.forEach((k,v)->{
            builder.withClaim(k,v);//传入数据
        });
        String token = builder.withExpiresAt(instance.getTime())//设定过期时间
                .sign(Algorithm.HMAC256(SIGN));//用加密类点加密类型传入密钥
        return token;
    }
    /*
    * 验证Jtw合法性
    * */
    public static void verify(String token){
        DecodedJWT verify = JWT.require(Algorithm.HMAC256(SIGN)).build().verify(token);
    }
    /*
    * 返回token信息
    * */
    public static DecodedJWT getTokenInfo(String token){
        DecodedJWT verify= JWT.require(Algorithm.HMAC256(SIGN)).build().verify(token);
        return  verify;
    }
    /*
    * 或者验证完成以后直接返回解析获取token信息
    * */
    public static DecodedJWT getToken(String token){
        return  JWT.require(Algorithm.HMAC256(SIGN)).build().verify(token);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值