当前位置: 首页 > news >正文

【SpringBoot】【JWT】0.12.6版本(2025最新)的JWT令牌生成和校验

在0.9.x版本下的许多方法都被弃用:
在这里插入图片描述

查看废弃的方法的源码,可以找到最新的使用方法,生成令牌的方式并不唯一:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

最新的JWT令牌生成和校验:

依赖:

<dependency>
	<groupId>io.jsonwebtoken</groupId>
	<artifactId>jjwt-api</artifactId>
	<version>0.12.6</version>
</dependency>
<dependency>
	<groupId>io.jsonwebtoken</groupId>
	<artifactId>jjwt-impl</artifactId>
	<version>0.12.6</version>
	<scope>runtime</scope>
</dependency>
<dependency>
	<groupId>io.jsonwebtoken</groupId>
	<artifactId>jjwt-gson</artifactId>
	<version>0.12.6</version>
</dependency>

JWT令牌生成:

	/**
     * 过期时间,7天
     */
    private static final long EXPIRE = 60000 * 60 * 24 * 7;
    /**
     * 加密密钥
     */
    private static final String SECRET = "net.example.SSMdemo";
    /**
     * 使用HS256算法生成密钥
     */
    private static final SecretKey KEY = Jwts.SIG.HS256.key().random(new SecureRandom(SECRET.getBytes())).build();
    /**
     * 主题
     */
    private static final String SUBJECT = "SSMdemo";

	/**
     * 根据用户信息生成令牌
     * @param user
     * @return
     */
    public static String geneJsonWebToken(User user){
        Map<String,Object> claims = new HashMap<>();
        claims.put("name",user.getName());
        claims.put("phone",user.getPhone());
        String token = Jwts.builder().claims()
                .add(claims)  // 添加内容
                .subject(SUBJECT)   // 声明主题
                .issuedAt(new Date())   // 创建JWT时的时间戳
                .expiration(new Date(System.currentTimeMillis() + EXPIRE))  // 设置过期时间
                .and()  // 返回JwtBuilder配置
                .signWith(KEY)  // 签名
                .compact(); // 紧凑
        return token;
    }

校验JWT令牌:

public static Claims checkJWT(String token){
        try {
            final Claims claims = Jwts.parser()
                    .verifyWith(KEY)    // 验证所有遇到的JWS签名
                    .build()
                    .parse(token).accept(Jws.CLAIMS)   // 解析jws
                    .getPayload();  // JWT有效载荷
            return claims;
        }catch (Exception e){
            return null;
        }
}

在https://jwt.io/直接校验jwt令牌:在这里插入图片描述


文章转载自:

http://L7Jp1id5.wkhfg.cn
http://fJF32ds5.wkhfg.cn
http://LPIo48WY.wkhfg.cn
http://Jm9vi0Fs.wkhfg.cn
http://blFCdgDg.wkhfg.cn
http://39lnbzCV.wkhfg.cn
http://1t4Ylnzn.wkhfg.cn
http://R3YQFBkl.wkhfg.cn
http://jge9dg6Q.wkhfg.cn
http://ZiZop1O0.wkhfg.cn
http://eNRcPAXu.wkhfg.cn
http://Ycoi7TEr.wkhfg.cn
http://d1dn43KZ.wkhfg.cn
http://hdbSH7PL.wkhfg.cn
http://nsnFIHcf.wkhfg.cn
http://uTnMoMRg.wkhfg.cn
http://k03CdxZa.wkhfg.cn
http://n811h1Ma.wkhfg.cn
http://9Xsup4r6.wkhfg.cn
http://s3qvqYbt.wkhfg.cn
http://LQ2MOy5t.wkhfg.cn
http://LzHuc9Dl.wkhfg.cn
http://bSg6guZ4.wkhfg.cn
http://OiKecCaL.wkhfg.cn
http://Rm2X7Rfb.wkhfg.cn
http://568uLI2Y.wkhfg.cn
http://gkfyPqM6.wkhfg.cn
http://FcTwuptJ.wkhfg.cn
http://Bi93vWiP.wkhfg.cn
http://nxKB0Ze0.wkhfg.cn
http://www.dtcms.com/a/36265.html

相关文章:

  • 下拉框置为‘删除‘状态时弹窗确认,取消时退回原始状态
  • vue3学习3-route
  • Redis|持久化
  • Python实现GO鹅优化算法优化随机森林分类模型项目实战
  • Linux | man 手册使用详解
  • 02原理篇(D2_SpringBoot 自动装配原理)
  • Three.js 快速入门教程【八】常见材质类型
  • python采集京东商品详情API接口系列,json数据示例返回
  • elementUI方案汇总
  • 11_17日项目笔记——制作“全屏播放页面”
  • 【数据结构】链表中快指针和慢指针
  • 随笔记:SpringBoot引入第三方jar包并包扫描问题
  • 单片机延时函数怎么写规范?
  • 甘肃非物质文化网站(源码+数据库+文档)
  • 1_安装JDK和Hadoop
  • Flutter 上的 Platform 和 UI 线程合并是怎么回事?它会带来什么?
  • 如何制作安装包打包软件
  • 山东大学软件学院nosql实验三
  • 2025系统架构师(一考就过):案例之三:架构风格总结
  • go flag参数 类似Java main 的args
  • JWT使用教程
  • SpringBoot 03 Web开发
  • Web to App:从 0 到 1,打造高效的 App 增长闭环
  • 【深度学习】遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)
  • 关于Postman自动获取token
  • Docker核心概念
  • 网络原理--UDP的特点
  • uni-app 开发app 时 ios上传图片失败的问题
  • 什么是 OCP 数据库专家
  • Linux-----进程间通信