Java Jwt库的简介及使用方法

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

本期,边肖将给大家带来Java Jwt库的简单介绍和用法。文章内容丰富,从专业角度进行分析和描述。希望你看完这篇文章能有所收获。

JWT介绍

10-1010JWT,完全用JSON Web Token编写,是一个开放的行业标准RFC7591,用于端到端的安全验证。

简单来说,就是用一些算法对加密后的字符串和JSON对象进行加密和解密。

JWT加密JSON并将其保存在客户端,而不在服务器上保存会话信息。可应用于前端和后端分离的用户认证。后端对前端输入的用户信息进行加密,生成令牌字符串。当前端再次请求时,这个字符串被附加,然后后端用算法解密它。

JWT概念

Java  Jwt库的简介及使用方法

00-1010jwt字符串:加密的JSON字符串。

包含三种类型的信息。

标题:令牌类型和加密算法。常见的加密算法有MD5、SHA和HMAC(哈希消息认证码)。

有效载荷:存储有效信息,包括

1.标准的声明,类似于开发语言的一般关键词。包括

ISS(isssuser)-发行人

学科导向的学科

音频接收器

Exp到期时间到期时间戳

Nbf不在之前,有效时间戳

发行时间

JWT身份证:唯一身份证

2.公开声明:一般添加与业务相关的必要信息。因为可以解密,所以不建议使用敏感信息。

3.私有声明:由提供者和消费者共同定义的声明。Base64对称解密不推荐敏感信息。

签名签证

签证信息包括三个部分:

Base64加密标头

用Base64加密的有效负载

秘密钥匙

使用header中声明的加密算法,使用salt和secret组合对Header和有效负载的加密连接字符串进行加密。

密钥存储在服务器中,服务器根据密钥进行解密和验证。

JWT流程:

JWT只是一个标准。

它可以通过开发语言来实现,包括Java、net、Python、Nodejs、JavaScript、Perl、Ruby、Go等等。

在同一种语言中,不同的开发人员提供了各种各样的实现库。以Java为例,有java-jwt、jose4j、nimbus-jose-jwt、jjwt

JWT的构成

https://jwt.io/

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

00-1010 Java-JWT是推荐的Java语言的JWT实现库,由Maven导入如下:

属国

groupIdcom.auth0/groupId

artifactIdjava-jwt/artifactId

版本3 . 8 . 3/版本

/dependency生成加密的令牌

Stringtoken=JWT.create()。withexpiresat(新日期(系统。current timemillis()))//设置到期时间。with audition(‘ user 1 ‘)//设置收件人信息,通常登录用户。符号(算法。HMAC 256(‘ 111111 ‘);//使用HMAC算法,使用111111作为密钥对Token进行加密和解密,获取负载信息,验证Token是否有效。

StringuserId=JWT.decode(令牌)。getAudience()。get(0);

断言. asserteqlass(‘ user 1 ‘,userId);

JWTVerifierjwtVerifier=jwt . require(算法。HMAC256(‘111111 ‘)。build();

jwtVerifier.verify(令牌);这是上面边肖分享的Java Jwt库的简介和用法。如果你恰好也有类似的疑惑,可以参考上面的分析来理解。想了解更多,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/78648.html

(0)

相关推荐

  • SQL Server数据库mdf文件中了勒索病毒的解决方法是什么

    技术SQL Server数据库mdf文件中了勒索病毒的解决方法是什么这篇文章主要介绍“SQL Server数据库mdf文件中了勒索病毒的解决方法是什么”,在日常操作中,相信很多人在SQL Server数据库mdf文件中了

    攻略 2021年11月8日
  • speak的用法,say和speak的用法和区别

    技术speak的用法,say和speak的用法和区别say一般情况下,我们用“say”来表述某人说过某事speak的用法。“say”常常被用来复述说某人说过的话。tell我们使用“tell”来表示某人已经指示或通知某人某

    生活 2021年10月20日
  • 最全分布式锁解决方案详解

    技术最全分布式锁解决方案详解 最全分布式锁解决方案详解一. 概述
    1.1 锁的概念在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时

    礼包 2021年11月7日
  • 送老公什么生日礼物,老公生日送什么礼物合适

    技术送老公什么生日礼物,老公生日送什么礼物合适夫妻这一生送老公什么生日礼物,即便是能够轰轰烈烈,也不会持久,平淡是最后的绝唱,人生的意义,深深蕴含于平凡生活中,平平淡淡相伴才是真。而如何在平淡相伴着的每一天里,都能仍旧保

    生活 2021年10月27日
  • C++为什么不要拿着锁调用未知代码

    技术C++为什么不要拿着锁调用未知代码本篇内容主要讲解“C++为什么不要拿着锁调用未知代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++为什么不要拿着锁调用未知代码”吧

    攻略 2021年11月25日
  • 能歌善舞类似的成语,描述女子能歌善舞的成语

    技术能歌善舞类似的成语,描述女子能歌善舞的成语【滴粉搓酥】:粉:脂粉;搓:搓摩;酥:润滑柔美。脸上薄施脂粉能歌善舞类似的成语,用手搓摩润滑。形容女子肌肤柔嫩细腻。【婀娜妩媚】:婀娜:轻盈柔美;妩媚:姿态美好。轻盈柔美的姿

    生活 2021年10月30日