JWT 简单封装及使用

本文介绍了JWTUtils类,展示了如何使用JWT进行加密和解密,包括生成带有效期的token和验证其合法性。
摘要由CSDN通过智能技术生成

1. JWT 工具封装

public class JWTUtils {
    //密钥
    private static final String SING = "xag688";
    /**
     * 生成token
     */
    public static String getToken(Map<String,String> map){
        Calendar instance = Calendar.getInstance();
        //默认7天过期
        instance.add(Calendar.DATE,7);
        //创建jwt builder
        JWTCreator.Builder builder = JWT.create();
        map.forEach((k,v)->{
            builder.withClaim(k,v);
        });
        String token = builder.withExpiresAt(instance.getTime())//有效期
                .sign(Algorithm.HMAC256(SING));//密钥
        return token;
    }
    /**
     * 验证token合法性
     */
    public static DecodedJWT verify(String token){
        //返回验证结果(结果是内置的)
        return JWT.require(Algorithm.HMAC256(SING)).build().verify(token);
    }

2. 简单使用

        2.1 生成

Map<String, String> payload = new HashMap<>();
            //用户登录成功后的信息放入payload
            payload.put("uid", String.valueOf(123));
            //生成JWT令牌
            String token = JWTUtils.getToken(payload);

        2.2 验证

  DecodedJWT verify = JWTUtils.verify(token);

3. 最后

感谢阅读,希望对您有用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值