惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
The Cloudflare Blog
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 司徒正美
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
云风的 BLOG
云风的 BLOG
C
Check Point Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
V
V2EX
F
Fortinet All Blogs
B
Blog
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
B
Blog RSS Feed
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 12不懂3

IOC容器 分布式锁 分布式事务 Myql索引篇+c#性能优化篇 HttpHelper .net7.0 .net升级7.0报错1. MySqlConnection is already in use. See https://fl.vu/mysql-conn-reuse 2.SqlSugar.SqlSugarException: Cannot Open when State is Connecting. 3.The current TransactScope is already complete Windos Elastocsearch安装部署汉化 Mysql ElasticSearch C# Common中心目录 ABP.VNET 原书籍《Effective C#:改善C#代码的50个有效方法》 精炼18点 ABP IO读写+Epoll多路复用,计算机底层解析 c# 技术点总结 kuberspere管理工具+k8s安装 K8s核心组件理解 数据库事务和锁
jwt验证机制
12不懂3 · 2023-04-12 · via 博客园 - 12不懂3

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没有被篡改