JWT的组成

概念

JWT(JSON Web Token)

定义:一种信息标准,是json信息加密后生成的token令牌,因此常用于信息交换和授权。

由三部分组成,中间用 . 连接

  • 头部(header)
  • 载荷(payload)
  • 签证(signature)

 
 
 
 
 

组成

头部

json信息

{"typ":"JWT","alg":"HS256"}

声明token的类型是JWT,加密算法是HS256

** HS256 对称算法 双方共用一个密钥

对其进行Base64加密,我们可以获得第一部分

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

 
 
 

载荷

载荷以实体的形式携带数据。官方有一些推荐的字段(包括签发者,签发时间等等),我这里就直接写需要传递的数据了

json信息

{"sub":"1234567890","name":"John Doe","iat":1516239022}

对其进行Base64加密,我们可以获得第二部分

eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ

 
 
 

签证

将第一部分和第二部分用 . 连接起来

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ

服务端进行签证,对上面进行组合加密(密钥,加盐),得到第三部分

9daWxcZAf7-8Lv6MJifafwNIuSRn0-1awHGWbaa6zWw

 
 
 
 
 

最后

将三部分用 . 连接在一起,这就是一个完整的JWT (token值)

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.9daWxcZAf7-8Lv6MJifafwNIuSRn0-1awHGWbaa6zWw

 

在这里插入图片描述

JWT的官网,可以测试下

java项目使用jwt,https://blog.csdn.net/qq_44972847/article/details/109257035

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值