WEB安全(九)什么是JWT?

JWT(JsonWebToken)是一种开放的标准,用于在用户和服务器间安全地传递信息。它由头部、载荷和签证三部分构成,通过base64编码,并使用HMACSHA256算法加密。JWT包含用户身份信息,如用户ID、名称等,且无需服务器保存认证记录,提高了系统的扩展性。相比于基于session的认证,JWT避免了session在分布式系统中的问题,增强了负载均衡能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

JWT:Json Web Token,是基于Json的一个公开规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。

使用起来就是,由服务端根据规范生成一个令牌(token),并且发放给客户端。此时客户端请求服务端的时候就可以携带者令牌,以令牌来证明自己的身份信息。

作用:通过token来代表用户身份。与使用session保持登录状态不同的是,JWT不需要保存认证记录,只需保存秘钥。

二、JWT的构成

JWT是由三段信息构成的,将这三段信息文本用点号.链接一起就构成了Jwt字符串。

第一部分我们称它为头部(header),第二部分我们称其为载荷(payload, 类似于飞机上承载的物品),第三部分是签证(signature)

header

jwt的头部承载两部分信息:

  • 声明类型,这里是jwt
  • 声明加密的算法 通常直接使用 HMAC SHA256

完整的头部就像下面这样的JSON:

{
   
  'typ': 'JWT',
  'alg'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值