JWT令牌

引入maven依赖坐标 

        <!--java-jwt坐标-->        
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.13.0</version>
        </dependency>
        <!--单元测试坐标-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>3.1.2</version>
        </dependency>

JwtTest

package com.lin.springboot01;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import org.junit.jupiter.api.Test;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class JwtTest {
    @Test
    public void testGen(){
        Map<String,Object> claims = new HashMap<>();
        claims.put("id",1);
        claims.put("username","张三");
        //生成jwt的代码
        String token = JWT.create()
                .withClaim("user",claims)//添加载荷
                .withExpiresAt(new Date(System.currentTimeMillis()+1000*60/60*12))//添加过期时间
                .sign(Algorithm.HMAC256("lin2332"));//指定算法配置密钥
        System.out.println(token);

    }
}

密钥生成成功

校验密钥

package com.lin.springboot01;

import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.Claim;
import com.auth0.jwt.interfaces.DecodedJWT;
import org.junit.jupiter.api.Test;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class JwtTest {
    @Test
    public void testGen(){
        Map<String,Object> claims = new HashMap<>();
        claims.put("id",1);
        claims.put("username","张三");
        //生成jwt的代码
        String token = JWT.create()
                .withClaim("user",claims)//添加载荷
                .withExpiresAt(new Date(System.currentTimeMillis()+1000*60*60*12))//添加过期时间
                .sign(Algorithm.HMAC256("lin2332"));//指定算法配置密钥
        System.out.println(token);
    }
    @Test
    public void testParse(){
        //定义字符串,模拟用户传递过来的token
        String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9" +
                ".eyJleHAiOjE2OTk3MTA5NDcsInVzZXIiOnsiaWQiOjEsInVzZXJuYW1lIjoi5byg5LiJIn19" +
                ".3CZM1OXRzVzRLCwfe5GrWIFcrJhy49XSjbQeIib-0SI";
        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("lin2332")).build();
        DecodedJWT decodedJWT = jwtVerifier.verify(token);
        Map<String,Claim> claims = decodedJWT.getClaims();
        System.out.println(claims.get("user"));
    }
}

 jwt解析结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/131399.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS 学习应用篇(三)话题Topic学习之自定义话题消息的类型的定义与调用

自定义消息类型的定义 Person.msg文件的定义&#xff08;数据接口文件的定义&#xff09; 创建msg文件 首先在功能包下新建msg文件夹&#xff0c;接着在该文件夹下创建文件。 定义msg文件内容 一个消息最重要的就是数据结构类型。这就需要引入一个msg文件&#xff0c;用于…

css:两个行内块元素和图片垂直居中对齐

目录 两个行内块元素垂直居中对齐图片垂直居中问题图片和文字垂直居中对齐参考文章 两个行内块元素垂直居中对齐 先看一段代码&#xff1a; <style> .box {width: 200px;height: 200px;line-height: 200px;font-size: 20px;text-align: center;display: inline-block;b…

Python制作国旗头像

今天教大家用几行代码快速实现一个国庆风头像&#xff0c;效果是这样的 素材&#xff1a;一张头像、一张国旗图片 思路&#xff1a;将国旗图片的每个像素点的透明度从左至右&#xff0c;从上到下逐次递减后&#xff0c;将其盖在头像上面就形成了最终的效果图。 完整代码&…

如何评价C语言形式化语义工作Clight ?

如何评价C语言形式化语义工作Clight &#xff1f; 编程语言的形式语义一即合法程序及 其行为的数学规范。 现实编程语言的形式语义庞大且复杂。这就提出了验证这些语义的问题:我们如何确保它们正确捕最近很多小伙伴找我&#xff0c;说想要一些C语言的资料&#xff0c;然后我根…

游读广州|康园环保行

“走出家门&#xff0c;共享阳光”残障人士游读广州项目是由广州市慈善会、广州市善城社区公益基金会资助、广州市黄埔区惠民社会服务中心实施的第四届“创善?微创投”广州市社区公益微创投项目&#xff0c;黄埔区康园工疗站约120名残障人士为服务对象&#xff0c;通过游玩与教…

程序员接单实现财富自由?原来是用了这十大良心平台!!!

后疫情时代下,经济复苏缓慢&#xff0c;处于下行阶段。同时&#xff0c;由于强大的生活压力&#xff0c;社会内卷日益严峻。各行各业的打工人&#xff0c;都在公司里“阴暗扭曲爬行”。从“996”到“007”&#xff0c;工作强度简直是苦不堪言。尤其对咱们IT行业&#xff0c;本来…

使用c++17std库varaint替代varaint开源库报错处理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;…

cmake_install.cmake这个文件有什么用

2023年11月11日&#xff0c;周六上午 目录 简介 举例说明 简介 cmake_install.cmake是由 CMake 自动生成的一个脚本文件&#xff0c;用于在安装过程中执行各种安装操作。 请注意&#xff0c;cmake_install.cmake件是自动生成的&#xff0c;无需手动编辑或修改它。如果需要自…

线性代数-Python-05:矩阵的逆+LU分解

文章目录 1 矩阵的逆1.1 求解矩阵的逆 2 初等矩阵2.1 初等矩阵和可逆性 3 矩阵的LU分解3.1 LU分解的实现 1 矩阵的逆 1.1 求解矩阵的逆 def inv(A):if A.row_num() ! A.col_num():return Nonen A.row_num()"""矩阵A单位矩阵"""ls LinearSyste…

11.10论文写作与格式

格式 文章题目&#xff1a;&#xff08;三号、黑体、加粗&#xff0c;居中&#xff09; 摘要&#xff1a;这两个大字要&#xff08;黑体、小四、加粗&#xff0c;左对齐&#xff09;&#xff1b;内容为(宋体、小四) 关键词&#xff1a;三个字为(黑体、小四、加粗&#xff0c…

短视频矩阵seo系统源码搭建----技术定制化开发

一、需要遵循一下技术开发步骤&#xff1a; 1. 确定需求和功能&#xff1a;明确系统的主要目标和需要实现的功能&#xff0c;包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构&#xff1a;根据需求和功能确定系统的架构&#xff0c;包…

如何通过命令查看某一文件的内容改动和提交记录

1. 查看最近10条的提交记录 一行显示 git log --oneline -102.查看某一个文件的提交记录 git log --oneline -10 文件路径3.查看某个文件的修改内容 查看某次提交的修改 内容 git show bcd9299 查看某次提交某个文件的修改内容git show bcd9299 文件路径4.对比两次提交内容的…

基于HF transformers的AI建模和训练实战

我们经常使用 scikit-learn 对监督学习和无监督学习任务的数据进行建模。 我们熟悉面向对象的设计&#xff0c;例如启动类并从类中调用子函数。 然而&#xff0c;当我个人使用 PyTorch 时&#xff0c;我发现与 scikit-learn 类似但又不一样的设计模式。 在线工具推荐&#xff…

亚马逊是如何风控虚假交易操控评论的?稳定的测评系统的重要性。

稳定的亚马逊测评系统重不重要&#xff1f; 亚马逊平台对测评行为的打击力度十分严格&#xff0c;堪称所有电商平台中最严格的一个。许多人可能会好奇&#xff0c;采用的是真人测评&#xff0c;由真实的客户群体购买产品后进行评价&#xff0c;这种模式难道也会存在风险吗&…

3.1 IDA Pro编写IDC脚本入门

IDA Pro内置的IDC脚本语言是一种灵活的、C语言风格的脚本语言&#xff0c;旨在帮助逆向工程师更轻松地进行反汇编和静态分析。IDC脚本语言支持变量、表达式、循环、分支、函数等C语言中的常见语法结构&#xff0c;并且还提供了许多特定于反汇编和静态分析的函数和操作符。由于其…

单片机启动流程

存储器 ​ 一个单片机中存在rom和ram&#xff0c;Soc也有rom和ram&#xff08;ddrx&#xff09;&#xff0c;部分Soc还包含MMU&#xff08;Memory Manage Unit 内存管理单元&#xff09;— &#xff08;用于系统内存管理&#xff0c;比如说虚拟内存空间&#xff0c;内存区间的…

【CCF-C解刊】4区逆袭到1区TOP,这本期刊实力强劲,34天录用,7天见刊!

计算机类 • 好刊解读 今天小编带来Elsevier旗下计算机领域好刊的解读&#xff0c;这本期刊从4区逆袭成为中科院1区&#xff08;TOP&#xff09;&#xff0c;如此实力强劲的期刊&#xff0c;究竟如何&#xff1f; 如有相关领域作者有意向投稿&#xff0c;可作为重点关注&…

Flutter笔记 - 关于 fit 属性以及相关知识的总结

Flutter笔记 关于 fit 属性以及相关知识的总结 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/13434451…

vue+iView实现下载zip文件导出多个excel表格

1&#xff0c;需求&#xff1a;在vue项目中&#xff0c;实现分月份导出多个Excel表格。 点击导出&#xff0c;下载zip文件&#xff0c;解压出多张表数据。 2&#xff0c;关键代码&#xff1a; <Button class"export button-style button-space" click"ex…

2011年09月21日 Go生态洞察:Go图像处理包

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…