JWT(JSON Web Token)的简单使用

JWT(JSON Web Token)是一种通过数字签名保证安全性的JSON对象,用于跨域传递信息。它常用于授权认证,包含Header、Payload和Signature三个部分。在Java应用中,JWT的使用涉及到加密和解密操作,解密时需确保使用最新的加密Token来避免错误。
摘要由CSDN通过智能技术生成

什么是 JWT?

JSON Web Token,通过数字签名的方式,以 JSON 对象为载体,在不同的服务终端之间安全的传输信息。也就是把信息安全的封装,通过json的形式进行传递。

JWT 有什么用?

JWT 最常见的场景就是授权认证,一旦用户登录,后续每个请求都将包含JWT,系统在每次处理用户请求的之前,都要先进行 JWT 安全校验,通过之后再进行处理。

JWT 的组成

JWT 由 3 部分组成,用.拼接

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImphY2siLCJyb2xlIjoiYWRtaW4iLCJzdWIiOiJhZG1pbi10ZXN0IiwiZXhwIjoxNjI0MTczNzQwLCJqdGkiOiI0MjI2YzQyYi0yYTcyLTQ5YzItOTRhNS00ZGE2NDNlYTMxYWQifQ.ECeFy7INfyHInz7HViRVULY85IWJBg90cCqp8oOdcJk

这三部分分别是:

  • Header

    {
         
      'typ': 'JWT',
      'alg': 'HS256'
    }
    
  • Payload 载荷(存放有效信息的地方)

    {
         
     "sub": 'hello', 标准中注册的声明
        "name": 'jack', 公共的声明
        "admin":true,私有的声明
    
    }
    
  • Signature 签名

var encodedString = base64UrlEncode(header) + '.' + base64UrlEncode(payload);
//对header和payload进行64位加密,然后拼接在一起
var signature = HMACSHA256(encodedString, 'secret');
//对上面的结果再次进行加密

需要的依赖
pom.xml

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt</artifactId>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值