Springboot实现jwt的token验证(超简单)

超简单的jwt验证token,直接复制粘贴即可使用!

一、添加依赖

        <!-- jwt加密 --><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.14.0</version></dependency>

二、新建一个TokenUtil.class工具类

package com.example.springboot.utils;import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;import java.util.Calendar;
import java.util.HashMap;/*** JWT token加解密工具类*/
public class TokenUtils {private static String key = "jweijo1231ojiSDJOIA23Ssdii";// 密钥签名private static Integer end_day = 7;// 密钥过期天数/*** token加密* @param id 账号* @return*/public static String signToken(String id){HashMap<String, Object> map = new HashMap<>();// 指定令牌的过期时间,这里是【7天】后令牌token失效Calendar instance = Calendar.getInstance();instance.add(Calendar.DAY_OF_WEEK, end_day);// 生成tokenString token = JWT.create().withHeader(map) // header可以不写,因为默认值就是它.withClaim("user", id)  //payload.withExpiresAt(instance.getTime()) // 指定令牌的过期时间.sign(Algorithm.HMAC256(key));//签名return token;}/*** 验证token合法性* @param token* @return*/public static DecodedJWT verify(String token) {return JWT.require(Algorithm.HMAC256(key)).build().verify(token);}/*** 获取token真实内容* @param token* @return*/public static DecodedJWT getTokenInfo(String token){DecodedJWT verify = JWT.require(Algorithm.HMAC256(key)).build().verify(token);return verify;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分式理想 对偶群 对偶空间

参考文献&#xff1a; Deitmar A. A first course in harmonic analysis[M]. 2005.Ideal quotient | encyclopedia article by TheFreeDictionaryFractional ideal | encyclopedia article by TheFreeDictionaryPontryagin duality | encyclopedia article by TheFreeDictiona…

UG NX二次开发(C++)-CAM-根据刀具对程序组进行重新分组

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1、前言2、在UG NX中创建一个三维模型3、在UG NX/CAM中创建多个加工程序4、采用UG NX二次开发(NXOpen)实现按照刀具分组程序组4.2 创建UI Styler4.1 实现逻辑4.2 生成的代码如下:4.3 测试效果4.…

java实现倒水瓶排序

最近看到一个小游戏倒水瓶很火, 就想用java来实现一下 实现思路 先确定瓶子和颜色的数量, 比如5种颜色, 那么就需要51个瓶子, 然后前5个瓶子每个瓶子倒满一种颜色, 每种颜色各5块, 最后一个是空瓶然后就是随机打乱瓶中色块最后将最后一个瓶子中的色块匀到其他瓶中, 一个关卡就…

Day 281/300 微信小程序 监听接口返回的数据后 动态赋值并展示

&#xff08;一&#xff09;现状 1、一开始使用的缓存setTimeout&#xff0c;缺点是不知道什么时候回来&#xff1b;网络速度慢的时候&#xff0c;会有空白的情况&#xff0c;或者是需要连续发&#xff0c;不太好&#xff1b; 2、想实现监听接口返回的数据后 动态赋值并展示的…

java导出word(含图片、表格)

1.pom 引入 <!--word报告生成依赖--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupI…

如何将html转换成markdown

什么是Turndown “Turndown” 是一个用于将 HTML 转换为 Markdown 的 JavaScript 库。它通常用于将富文本内容从网页或其他 HTML 格式转换为纯文本 Markdown 格式&#xff0c;以便在不同平台上显示或存储。 如果在有node环境的情况下要使用 Turndown&#xff0c;首先需要将它…

了解vtk显示的原理

文章目录 目标:知识补充:1.什么是图元?2.最让我不解的是:官方讲的是:mapper讲polydata转换为可渲染的图元数据,然后actor是将polydata映射为可渲染的图元???既然mapper就已经将其解析为图元数据,为什么actor还要进一步解析呢?3.那polydata不是也获得了一些数据,这些数据是…

【Elasticsearch】聚合查询(四)

Elasticsearch&#xff08;简称为ES&#xff09;是一个基于Lucene的开源搜索和分析引擎&#xff0c;提供了丰富的聚合查询功能。聚合查询指的是在搜索结果上执行分组、汇总和统计等操作&#xff0c;以便从大量数据中提取有用的信息和洞察。 这篇文章主要介绍检索相关的操作&…

云部署家里的服务器

1.固定静态ip 查看ip地址&#xff0c;en开头的 ifconfig查看路由器ip&#xff0c;via开头的 ip route修改配置文件 cd /etc/netplan/ #来到这个文件夹 sudo cp 01-network-manager-all.yaml 01-network-manager-all.yaml.bak #先备…

Mac电脑强大的字体管理 RightFont for Mac

RightFont for Mac软件特色 速度有多快&#xff1f;RightFont可以在0.9秒以内加载30,000个字体&#xff01; 自动从Google字体/ Adobe Typekit集合&#xff08;通过Adobe Creative Cloud客户端&#xff09;同步字体。 轻松切换组视图以折叠/展开字体系列。 通过简单的拖放导入…

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制

华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制 1. 准备工作2. 环境搭建3. 心得总结 1. 准备工作 随着云计算时代的进一步深入&#xff0c;越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基…

2023 MacBook Pro (Apple M2 Pro、macOS Ventura)配置Android开发环境

配置git和ssh 配置git简单&#xff0c;用brew下载就行。ssh配置其实也很简单&#xff0c;但是在macOS Ventura系统上遇到了加密方式的问题。 新mac的系统是macOS Ventura。 git 配置ssh网上有很多教程&#xff0c;但是&#xff0c;我正常生成密钥/共钥&#xff0c;把公钥配置…

python魔术方法详解

一、概述 一直搞不懂python类实例化后内部的函数是怎么自动执行的&#xff0c;原来是通过自定义的魔术方法&#xff08;magic method&#xff09;自动执行 二、魔术方法 2.1什么是魔术方法 在python声明的Class中&#xff0c;凡是以双"__"下划线命名的函数&#…

第2章 算法

2.1 开场白 2.2 数据结构与算法之间的关系 在“数据结构”课程中&#xff0c;就算谈到算法&#xff0c;也是为了帮助理解好数据结构&#xff0c;并不会详细谈及算法的方方面面。 2.3 两种算法的比较 2.4 算法的定义 算法是解决特定问题求解步骤的描述&#xff0c;在计算机…

一个人可以开发游戏吗?

在今天的数字时代&#xff0c;游戏产业已经成为全球最具活力的领域之一。从大型游戏开发工作室到独立游戏制作人&#xff0c;游戏开发已经变得更加多样化和容易进入。然而&#xff0c;对于许多梦想成为游戏开发者的人来说&#xff0c;一个关键问题一直挥之不去&#xff1a;一个…

Cortex-A9 架构

一、Cortex-A 处理器运行模式 Cortex-A9处理器有 9中处理模式&#xff0c;如下表所示&#xff1a; 九种运行模式 在上表中&#xff0c;除了User(USR)用户模式以外&#xff0c;其它8种运行模式都是特权模式&#xff0c;在特权模式下&#xff0c;程序可以访问所有的系统资源。这…

spark 集成 ClickHouse 和 MySQL (读和写操作)(笔记)

目录 前言&#xff1a; 一.spark读出 1. spark 读出 MySQL表数据 1.2 spark 读出 ClickHouse表数据 二.spark写入 1. spark 写入 MySQL表数据 2.spark 写入 ClickHouse表数据 前言&#xff1a; 这篇文章主要记录的是用spark集成ClickHouse和MySQL&#xff0c; 将数据read出…

贪心算法-金条切割问题

1、题目描述 一块金条切成两半&#xff0c;是需要花费和长度数值一样的铜板的。比如长度为20的金条&#xff0c;不管切成长度多大的两半&#xff0c;都要花费20个铜板。 问&#xff1a;一群人想整分整块金条&#xff0c;怎么分最省铜板&#xff1f; 例如&#xff0c;给定数组{1…

shell脚本使用(宿主机windows-服务器-centos)--用于使用shell脚本方式控制docker容器

需求: 我想要使得windows上编写shell脚本&#xff0c;并且在这个shell脚本在linux中也可用 shell脚本在windows上无法直接运行&#xff0c;但是有WSL这个linux子系统的工具 可以使得shell脚本在主机上执行 视频讲解连接 https://www.bilibili.com/video/BV1Tw411Y7FP/方式1 …

elasticsearch和mongodb对比

一般来说&#xff0c;我们会将elasticsearch和mongodb一起使用&#xff0c;那为什么我们不能只用其中一个呢&#xff1f; MongoDB 优点&#xff1a;数据写入性能优于ElasticSearch&#xff08;但比不上Redis&#xff09;、数据约束性强、完善的权限机制。 缺点&#xff1a;只…