什么是 JWTJWTJSON Web Token是一种无状态、自包含的身份令牌用字符串传递用户身份信息不需要服务端保存会话记录。JWT 整体格式三段用.分隔Header.Payload.Signature1.Header 头部记录加密签名算法如 HS256JSON 做 Base64 编码。{ alg:HS256, typ:JWT }2.Payload 载荷存放身份数据userId、过期时间exp、角色权限等。⚠️ Base64 编码≠加密拿到 JWT 就能解码看到里面内容不能放手机号、密码等敏感信息。{ sub:10001, name:zhangsan, exp:1788888888 }3.Signature 签名用服务端秘钥对 Header Payload 算出签名。作用防止 Payload 被篡改。如果有人改掉里面 userId签名校验失败直接拒绝。signature HMAC-SHA256 (Base64Url (header) . Base64Url (payload), secret )JWT Base64Url(header) . Base64Url(payload) . signatureHMAC-SHA256 是带密钥的哈希摘要算法用来做消息完整性校验JWT 默认常用的签名算法流程把前两段拼接base64(header).base64(payload)使用指定算法 密钥 secret生成哈希签名放到 JWT 第三段SHA256哈希算法单向散列 输入任意长度内容输出固定 256bit32 字节的摘要。 特点单向不可逆原文改一个字符摘要完全变。单纯 SHA256 的问题任何人都可以计算摘要没有身份认证无法证明是谁生成的。HMACHash-based Message Authentication Code基于哈希的消息认证码在 SHA256 的基础上额外加入一个密钥 (secret)一起参与哈希计算。 公式HMAC-SHA256(消息, secret密钥)HMAC-SHA256 是带密钥的 SHA256 哈希算法属于对称消息认证码。需要传入密钥和原文生成摘要既可以校验消息有没有被篡改又能验证消息发送方拥有密钥。JWT 的 HS256 就是 HMAC-SHA256。完整登录流程用户账号密码登录校验成功后端组装 PayloaduserId、exp 过期时间等加上 Header用秘钥生成签名拼接成 JWT返回 JWT 字符串给前端前端每次请求在请求头携带Authorization: Bearer xxxxxx后端拿到 JWT校验签名是否合法判断有没有被篡改校验过期时间exp校验通过 → 直接从 Payload 取出 userId、权限不用查 Redis / 数据库✅ JWT 优点无状态服务端不用存储会话。多台服务器集群只要秘钥一致任意一台都能校验不需要共享 Redis。减少 Redis 查询减少 IO。自带过期时间exp。❌ JWT 缺点面试重点注销很难JWT 签发后没到过期时间就一直有效。想主动注销退出登录、踢下线只能额外用 Redis 维护黑名单一旦加黑名单就变回有状态丢失无状态优势。Payload 明文可解码不能存敏感数据载荷内容越多JWT 字符串越长每次请求携带增加网络开销不方便续期续期只能重新生成新 JWT 返回前端 服务端校验 Token 的流程反向客户端传过来A.B.C分割三部分Abase64Url (header), Bbase64Url (payload), C 签名串拿 AB 拼接成msg A.B使用同一个 secret对 msg 重新执行 HMAC-SHA256算出新签名newSig将newSig和客户端传过来的 C 对比相等签名合法内容未被篡改不相等header/payload 被修改直接拒绝 token校验时不要先解码 payload 再校验必须先校验签名再解析 payload安全顺序不能颠倒。面试高频坑点❌ 不是对 header 做哈希再对 payload 哈希再合并是拼接之后整体做一次 HMAC❌ secret 不是参与 header/payload 的编码secret只在 HMAC 签名这一步才使用❌ HMAC 输出的二进制摘要必须 Base64Url 编码才能放到 JWT 第三段原始二进制不能直接放 http 头❌ Base64Url 只是编码不是加密A、B 两段任何人都可以解码查看内容
企业数字化 ERP 产品动态
相关推荐
KOReader 免费电子书阅读器完整指南:电纸书装一次,PDF 和 EPUB 都读顺 KOReader 免费电子书阅读器完整指南:电纸书装一次,PDF 和 EPUB 都读顺 【免费下载链接】koreader An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android d… · 2026/9/24 17:24:16
如何用3种方式快速汉化Burp Suite Pro:BurpSuiteCN-Release快速上手实战教程 如何用3种方式快速汉化Burp Suite Pro:BurpSuiteCN-Release快速上手实战教程 【免费下载链接】BurpSuiteCN-Release BurpSuite汉化发布 项目地址: https://gitcode.com/gh_mirrors/bu/BurpSuiteCN-Release
Burp Suite Pro 是 Web 安全测试领域最常用的工具&… · 2026/9/24 17:24:16
VoltAgent AI Agent 编排实战:从单 Agent 到复杂多智能体系统 人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆 【免费下载链接】voltagent AI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework 项目地址: https://gitcode.com/gh_mirrors/vo/voltagent 点击查看 免费下载 导… · 2026/9/24 17:24:16
边缘AI应用:事关家庭隐私,家用AI摄像头的哪些AI任务在本地完成 家用AI摄像头的隐私风险不在于有没有AI,而是要弄清楚AI推理发生在哪里——是在摄像头本地芯片上完成,还是把视频传到云端处理。而本地推理的任务之所以安全,是因为摄像头拍到的原始视频没有离开设备,你的摄像头安装在家里… · 2026/9/24 17:53:30
第六篇:《Codex 桌面应用实战:多智能体并行协作》 如果说 Codex CLI 是“一个智能体在终端里干活”,那么 Codex 桌面应用就是“一个指挥中心,同时调度多个智能体并行工作”。2026 年 2 月,OpenAI 推出了 Codex macOS 桌面应用,将其定位为 “代理指挥中心”(Command Cen… · 2026/9/24 17:53:23
第五篇:《Codex CLI 安装与快速上手:从零到第一个任务》 Codex 的桌面应用提供了直观的图形界面,但如果你想在终端中直接委托任务,或者需要在 CI/CD 流水线中集成 AI 编码能力,Codex CLI 才是真正的起点。它是 OpenAI 官方开源的终端 AI 编程智能体,用 Rust 实现,能在你的项目… · 2026/9/24 17:53:23
开工才发现缺料,BOM、库存、采购怎么串起来?物料齐套系统选型 制造业里最让人头疼的场面之一,就是工单已经下发了、工人已经到位了,开工才发现——缺料。A料库存不够,B料采购还没到,C料在仓库里但没人知道在哪。生产计划被迫中断,交期一拖再拖。 这个问题的根源,不是库… · 2026/9/24 17:52:58
设备不会说话:一天里的七层证据 设备不会说话:一天里的七层证据标签:有限状态机、互斥租约、生产者-消费者、内存池、构建指纹、软限位、图像显示链路、统计基线、git 语义
引言:设备不会说话。它不会告诉你"我现在很忙",也不会解释"刚才那次为什… · 2026/9/24 17:52:58
毕业设计说明书和毕业论文:图纸说明先落在谁那里,改一次要回头动几处 说明书与论文这两份文本的分工,不看你把哪段写进哪一本,而看这一处内容改一次要连带动几份。图纸说明大多两条船都踩:动一处就得回头核另一处。文末两项能力可以免费用起来:一项先把章节骨架整段搭起来,一项把图表公式… · 2026/9/24 17:52:58
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44