当前位置: 首页 > news >正文

jwt简介

JWT(Json Web Token),是一种用于在网络上传递信息的开放标准。它是一种轻量级,自包含的令牌,常被用来在客户端和服务器之间传递身份信息

1 相关概念

1.1 MAC(Message Authenticaion Code)消息认证码

简单讲,消息认证码,就是通信双方约定一种规则,生成一串字符,在发送消息的时候,连带着这串字符一起发送,这串字符就叫做消息认证码。接收方在收到消息后,通过消息认证码来辨别消息的真伪

1.2 sha-256(Secure Hash Algorithm)安全散列算法256

sha-256是散列函数的一种,能对一个任意长度的数字消息,计算出一个32个字节(256bit)长度的字符串(又称消息摘要)

1.3 HMAC(Hash based Message Authenticaion Code)基于散列的消息认证码

HMAC算法利用哈希运行,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。

1.4 HMAC-SHA256

即使用sha-256作为哈希函数的HMAC算法

2 JWT的组成

JWT由3部分组成:

  • Header
  • Payload
  • Signature

2.1 Header

通常包含类似于令牌类型(JWT)、签名算法(HMAC-SHA256)等信息。使用base64进行编码

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

2.2 Payload

通常包含注册声明(签发者、过期时间、主题)、公共声明、私有声明

{"sub":"1234567890","name":"John Doe","admin":true
}    

2.3 Signature

将Header和Payload经过BASE64Url编码(注意和传统BASE64编码不同,它将+变为-,将/变为_,并且去掉填充字符=),连同密钥进行HMAC-SHA256编码得到的字符串

HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload),secret 
)

最终,我们看到的jwt的形式类型如下形式 xxx.xxx.xxx

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ4eHgiLCJleHAiOjE3NjU4MTMxNTV9.NHrzEjbFbIU473rnfCgDIFaSAw2ZTCRWtpvRDtCcnJg

 

http://www.jsqmd.com/news/94848/

相关文章:

  • 重生归来,我要成功 Python 高手--day44 迁移学习 Fasttext 文本分类 词向量
  • 3D 创作工具 Cinema4D 2025官方下载安装教程(含核心功能+入门实操+常见问题)
  • C#+VisionMaster联合开发控件篇(七)_参数配置带渲染控件
  • 直播回放 | IDMP 无问智推技术详解
  • 看到有人说,不要有新的编程语言了
  • 人工智能数据投毒风险上升:企业必须重视的 AI 安全隐患 - 资讯焦点
  • 高压直流输电Matlab仿真模型:LCC-HVDC 500kv与800kv电压等级下的控制切换仿真
  • 网络安全论坛、会议
  • mysql —— Ubuntu —— 第一次登入,如何设置密码
  • C#+VisionMaster联合开发控件篇(六)_参数配置控件
  • Linux系统编程——进程进阶:exec 族、system 与工作路径操作
  • 2025年北京优质deepseek优化服务商全景指南:助力企业抢占AI流量新赛道 - 品牌2025
  • C#+VisionMaster联合开发控件篇(五)_全局相机控件
  • ROS2核心概念之参数
  • 小程序商城工具挑选指南:功能、生态与商家需求解析
  • 2025年主流GEO服务商全景指南:助力企业抢占AI平台流量红利 - 品牌2025
  • 【第57套】一天两套,继续冲刺!
  • 异常机制
  • P3629 [APIO2010] 巡逻
  • AI 时代 GEO 营销先锋盘点:五大服务商助力 ToB 企业精准获客 - 品牌2025
  • SMB、FTP、MySQL... 配置不当,即是漏洞
  • 选择写论文软件哪个好?别让错误的工具,成为你学术路上“甜蜜的陷阱”
  • 32 低功耗模式(睡眠 停机 待机 )
  • 学术 “智造局”—— 虎贲等考 AI,承包你论文从选题到定稿的全周期智能服务
  • 告别选题迷茫、文献繁杂、写作卡顿!虎贲等考 AI,学术研究全流程智能引擎,做你的私人学术加速器
  • 深入解析:LeetCode 51 - N皇后问题 详解笔记
  • 豆包 AI 手机登录微信被「踢下线」,原因为何?端侧 AI 与头部应用的生态兼容上存在哪些挑战?
  • leetcode 754. Reach a Number 到达终点数字-耗时100%
  • Java毕设选题推荐:基于springboot高校奖助学金系统设计与实现基于springboot高校学生奖学金评定系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 实用指南:UE5笔记:OnComponentBeginOverlap