jwt验证机制
jwt数据结构为
1.header头:{"type":"JWT"}
2.payload:有效载荷
3.signature签名 防止篡改
服务器和客户端jwt交互过程
服务器给出token的时候:
1.前提:账号密码验证通过 得到用户信息或者其他信息(过期时间等) 往header或者payload里面塞
2. base64urlEncode(header)+"."+base64urlEncode(payload) 加密后得到字符串 header.payload
3.用HMACSHA256不可逆加密算法+公钥(公开的解密钥匙) 对xxx.yyy 加密 得到固定长度b -目的是把内容变短
4.然后用加密钥把b 加密 得到字符串signature 所以最终生成的jwt token=header.payload.signature
客户端拿到token:header.payload.signature
1.先拿到公钥 对signature解密得到字符串c(能加开证明秘钥是对的 说明zzz来自服务器)
2.然后对header.payload进行HMACSHA256加密 得到字符串D 比对d和字符串C 相同则证明token没有被篡改
本文来自博客园,作者:12不懂3,转载请注明原文链接:https://www.cnblogs.com/LZXX/p/17309696.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
2022-04-12 理解:TPS,QPS,吞吐量
2018-04-12 c# 快捷键