iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java Jwt库的简介及使用方法
  • 108
分享到

Java Jwt库的简介及使用方法

2023-06-25 13:06:09 108人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关Java Jwt库的简介及使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JWT介绍JWT概念JWT , 全写JSON WEB Token, 是开放的行业标准RFC

这期内容当中小编将会给大家带来有关Java Jwt库的简介及使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

JWT介绍

JWT概念

JWT , 全写JSON WEB Token, 是开放的行业标准RFC7591,用来实现端到端安全验证.
简单来说, 就是通过一些算法对加密字符串jsON对象之间进行加解密。
JWT加密JSON,保存在客户端,不需要在服务端保存会话信息。,可以应用在前后端分离的用户验证上,后端对前端输入的用户信息进行加密产生一个令牌字符串, 前端再次请求时附加此字符串,后端再使用算法解密。

JWT流程:

Java Jwt库的简介及使用方法

JWT的构成

JWT字符串: 一段加密的JSON字符串。
包含了三类信息

  • Header头部: Token类型和加密算法。加密算法常见的有MD5、SHA、HMac( Hash Message Authentication Code)。

  • PayLoad负载: 存放有效信息,包括

标准的声明,类似开发语言总的关键字。包括
iss(Issuser) - 签发者
sub Subject 面向主体
aud Audience 接收方
exp Expiration time 过期时间戳
nbf Not Before, 开始生效时间戳
iat(Issued at) 签发时间
jti(JWT ID): 唯一标识

公共的声明: 一般添加业务相关的必要信息,因为可解密,不建议敏感信息。

私有的声明:提供者和消费者共同定义的声明,Base64对称解密,不建议敏感信息

  • Signature签证

签证信息包括三部分:

  • Base64加密的header

  • Base64加密的payload

  • secret-密钥

使用header中声明的加密算法对Header和payload的加密连接字符串进行加盐secret组合加密。
密钥保存在服务端,服务端根据密钥进行解密验证。

 JWT与开发语言

JWT只是一个标准
可以通过不过的开发语言实现,包括Java,.net, python,node Js, javascript,Perl, Ruby,Go等。
同一种语言,不同的开发者提供了多种实现库,以Java语言为例有java-jwt、?jose4j、nimbus-jose-jwt、jjwt

JWT官网

https://jwt.io/

这个网站提供了在线的基于不同算法的字符串和JSON对象的转换工具,同时也收集了不同语言的多种实现库。

java-jwt

java-jwt是Java语言中推荐的JWT实现库,使用Maven导入如下:

<dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.8.3</version></dependency>

产生加密Token

String token = JWT.create()            .withExpiresAt(newDate(System.currentTimeMillis()))  //设置过期时间           .withAudience("user1") //设置接受方信息,一般时登录用户          .sign(Algorithm.HMAC256("111111"));  //使用HMAC算法,111111作为密钥加密

解密Token获取负载信息并验证Token是否有效

 String userId = JWT.decode(token).getAudience().get(0);        Assertions.assertEquals("user1", userId);        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("111111")).build();        jwtVerifier.verify(token);

上述就是小编为大家分享的Java Jwt库的简介及使用方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Java Jwt库的简介及使用方法

本文链接: https://www.lsjlt.com/news/305224.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Jwt库的简介及使用方法
    这期内容当中小编将会给大家带来有关Java Jwt库的简介及使用方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。JWT介绍JWT概念JWT , 全写JSON Web Token, 是开放的行业标准RFC...
    99+
    2023-06-25
  • Java Jwt库的简介及使用详解
    JWT介绍 JWT概念 JWT , 全写JSON Web Token, 是开放的行业标准RFC7591,用来实现端到端安全验证. 简单来说, 就是通过一些算法对加密字符串和JSON对...
    99+
    2024-04-02
  • Java - JWT的简单介绍和使用
    Java - JWT的简单介绍和使用 前言一. JWT 基础知识1.1 session 案例测试1.2 JWT 结构1.2.1 Header1.2.2 Payload1.2.3 Signatu...
    99+
    2023-10-27
    java 开发语言 spring boot
  • java使用JWT的方法
    目录一、简介1.Header2.Payload3.Signature4.组合二、封装类1.引入依赖2.封装方法三、使用方法一、简介 JWT是token的一种,一个JWT字符串包含三个...
    99+
    2024-04-02
  • Java核心类库String的简单介绍及常用方法
    本篇内容介绍了“Java核心类库String的简单介绍及常用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录一、 简介零碎知识点字符串...
    99+
    2023-06-20
  • Redis中的BloomFilter简介及使用方法
    本篇内容主要讲解“Redis中的BloomFilter简介及使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的BloomFilter简介及使用...
    99+
    2024-04-02
  • Py之pycocotools库的简介、安装、使用方法及说明
    目录pycocotools库的简介pycocotools库的安装pycocotools库的使用方法1、from pycocotools.coco import COCO2、输出COC...
    99+
    2023-02-22
    pycocotools库的简介 pycocotools库安装 pycocotools库使用
  • SpringBoot整合JWT的介绍以及用法
    本篇内容主要讲解“SpringBoot整合JWT的介绍以及用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot整合JWT的介绍以及用法”吧!目录JWTJWT登录执行流程图为什么...
    99+
    2023-06-20
  • Python之zhon库的简介、安装、使用方法
    zhon是一个Python库,用于处理中文文本。它提供了一些有用的工具和数据,例如中文标点符号、简体和繁体中文字符集等。安装zhon...
    99+
    2023-09-08
    Python
  • Python中hash加密简介及使用方法
    目录简介概念特点hash有哪些算法碰撞加盐防碰撞加密hashlib主要方法特有方法使用方法加盐crypt使用说明应用密码加密应用一致性校验简介 概念 散列算法(Hash Algori...
    99+
    2024-04-02
  • ASP.NET Core实时库SignalR简介及使用
    目录何为实时什么是SignalR回落机制三种通信方式long polling(长轮询)server sent events(sse)web socket进入正题何为实时 先从理论上解...
    99+
    2024-04-02
  • Python中的pandas库简介及其使用教程
    目录pandas模块SeriesDateFrame常用方法处理缺失数据数据过滤绘图功能pandas模块 pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供...
    99+
    2022-11-13
    Python pandas库 Python pandas库使用 pandas库用法
  • Java常用工具类库——Hutool的使用简介
    目录前言HuTool 中的一些常用工具类日期相关 API随机工具图片工具彩色转换成黑白添加文字水印加密解密工具布隆过滤器邮件工具HTML 工具HtmlUtil.cleanHtmlTa...
    99+
    2024-04-02
  • 简单介绍Python虚拟环境及使用方法
    目录一、为什么需要虚拟环境?二、virtualenv三、venv四、pipenv一、为什么需要虚拟环境? 这里的环境,指的就是 Python 代码的运行环境。它应该包含以下信息: ...
    99+
    2024-04-02
  • PHP转化函数简介及使用方法详解
    【PHP转化函数简介及使用方法详解】PHP 作为一种广泛应用于 Web 开发领域的编程语言,其中的转化函数在数据处理过程中发挥着重要作用。转化函数能够帮助开发者将不同类型的数据进行转换...
    99+
    2024-03-07
    函数 php 转化 lsp
  • python Polars库的使用简介
    目录文件地址:大家好,我是小F~ 很多人在学习数据分析的时候,肯定都会用到Pandas这个库,非常的实用! 从创建数据到读取各种格式的文件(text、csv、json),或者对数据进...
    99+
    2024-04-02
  • Onnx简介以及使用
    目录 一、ONNX简介 二、使用场景 三、常见例子  四、使用步骤 1.引入库 2.读入数据 五、如何查看onnx网络结构和参数 六、一个简单例子的实现 七、ONNX 的其他基本操作 1.获取onnx模型的输出层...
    99+
    2023-09-01
    python 开发语言
  • jwt介绍和PHP的使用
    适用于分布式单点登录(SSO) 流程 客户端输入账号密码登录; 服务端判断登录信息,用户登录成功返回客户端token; 客户端存储token,每个请求都需要传递token到服务端; 服务端验证token的有效期,返回对应的信息; 构成 分为...
    99+
    2023-10-20
    1024程序员节 php
  • re正则表达式库的简介、入门、使用方法
      re正则表达式库的简介  正则表达式在很多语言里都支持,python也不例外,re模块就是正则表达式的应用 正则表达式对字符串的逻辑操作,主要是对字符串的一种过滤,用“元字符” 与“普通字符”组成一个字符串规则对已知的字符串或文本过滤出...
    99+
    2023-06-02
  • Java的jps命令简介及使用示例详解
    目录jps命令简介jps命令参数jps命令示例结尾jps命令简介 jps(Java Virtual Machine Process Status Tool)是JDK提供的一个可以列出...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作