JWT学习总结

什么是jwt

web中以json数据传输的token

jwt 原理

jwt 由浏览器第一次成功访问服务器时,服务器生成token令牌并响应给浏览器保存,以后浏览器每次访问服务器时都携带这个token,服务器拦截请求并验证token,通过则处理业务,不通过则返回到登录页面。

jwt原理

jwt 组成

jwt由3部分组成

header 头部
	{
		"typ":"jwt",
		"alg": "HS256" //token加密算法
	}
payload 负载|载荷
	{
	  "sub": "1234567890",
	  "name": "John Doe",
	  "admin": true
	}
signature 签名
要创建签名部分,您必须获取编码的头、编码的有效负载、密码、头中指定的算法,并对其进行签名。
例如,如果要使用HMAC SHA256算法,将按以下方式创建签名:
 	HMACSHA256(
 	base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
 	secret)
***将所有内容放在一起***

输出是三个由点分隔的Base64-URL字符串,这些点可以在HTML和HTTP环境中轻松传递,与基于XML的标准(如SAML)相比更紧凑。
下面显示了一个JWT,它对前面的头和有效负载进行了编码,并用密码进行了签名。

jwt token

jwt防篡改原理

**jwt token验证会通过.分割的方式获得头部,载荷和签名,从破译头部获取加密的算法,加上自己服务器保存的secret秘钥,对头部和载荷重新进行加密得到新的签名,与分割的签名进行校验。**

参考:https://jwt.io/introduction

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值