JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token

JWT Token登录系统实战:从原理到Spring Boot与前端集成 在现代Web应用开发中,身份认证是保障系统安全的核心环节。传统的Session机制在分布式、多端场景下面临扩展性挑战,而基于Token的无状态认证则成为主流解决方案。其原理在于服务端生成一个包含用户声明且经过签名的令牌(Token),客户端在后续请求中携带此令牌以自证身份,无需服务端保存会话状态,从而实现了跨服务、跨域的单点登录(SSO)。这一技术为微服务架构和前后端分离应用提供了关键的安全与便利性支撑。本文聚焦于JWT(JSON Web Token)这一具体实现,通过剖析其Header、Payload、S 阅读详情

JWT 看似简单,实则暗藏玄机。从 JWS/JWE 标准族到密钥管理陷阱,从 Token 生命周期设计到 JWT 伪造攻击,这篇小课堂带你深入 JWT 的每一个角落。


一、JWT 到底是什么?

JWT(JSON Web Token)是一种紧凑、自包含的方式,用于在各方之间安全地传输信息。它由 IETF 在 2015 年通过 RFC 7519 标准化,但核心思想可追溯到更早的 Token 认证机制。它并非为替代 Session 而生,而是为了解决无状态分布式系统中的身份传递问题。

核心定位
维度说明
设计哲学自包含原则:Token 自身携带全部必要信息,服务端无需额外查询
数据模型三段式结构:Header.Payload.Signature,Base64Url 编码
类型系统Payload 为 JSON 对象,支持字符串、数字、布尔、数组、对象
编码规范必须使用 Base64Url 编码(非标准 Base64,去除了 = 填充和 +/ 字符)
标准族RFC 7515(JWS)、7516(JWE)、7517(JWK)、7518(JWA)、7519(JWT)
元数据Header 声明算法与类型,Payload 声明声明(claims),Signature 保证完整性
核心特点深度解读
特点表面理解深层陷阱
自包含Token 携带全部信息,服务端无状态Payload 明文可见,敏感信息直接暴露
跨域友好天然适合分布式、微服务、前后端分离Token 一旦签发,在过期前无法主动撤销
标准化IETF 标准,多语言库支持完善算法声明在 Header 中,存在算法混淆攻击面
易于传输字符串格式,可放 Header/URL/Cookie体积通常比 Session ID 大 5-10 倍,高频请求带宽压力大
人类可读Base64 解码即可查看内容可读≠可信任,客户端可随意篡改 Payload 内容
广泛支持几乎所有编程语言都有成熟库库的实现质量参差不齐,默认配置常存在安全隐患

二、JWT 格式规范:三段式结构深度解析

2.1 完整结构
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.     ← Header(蓝色)
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.  ← Payload(绿色)
SflKxwRJSMeKKF2QT4fwpMe                   ← Signature(红色)
2.2 各段详解
段内容编码方式核心作用安全警示
HeaderJSON 对象,声明 alg(算法) 和 typ(类型)Base64Url告诉验证方用什么算法验证签名⚠️ alg 可被篡改,必须白名单校验
PayloadJSON 对象,携带声明(claims)Base64Url携带用户身份、权限、过期时间等业务数据⚠️ 仅 Base64 编码,任何人可解码查看
Signature签名值Base64Url防止 Header 和 Payload 被篡改✅ 唯一不可伪造的部分,依赖密钥安全

签名公式:

HMACSHA256(
  base64url(header) + "." + base64url(payload),
  secret
)
2.3 标准声明(Registered Claims)
声明全称说明
issIssuer签发者,标识 Token 来源
subSubject主题,通常为用户唯一标识
audAudience受众,标识 Token 的目标接收方
expExpiration Time过期时间戳(秒级 Unix 时间)⭐ 必须设置
nbfNot Before生效时间,在此之前 Token 无效
iatIssued At签发时间
jtiJWT ID唯一标识,用于防止 Token 重放
2.4 关键规则
规则编号规则内容违反后果
R1必须使用 Base64Url 编码,禁止标准 Base64 的 = 填充URL 中 = 会被转义,破坏 Token 格式
R2Header 中的 alg 不可为 none(生产环境)算法置空后签名验证被跳过,攻击者可任意伪造 Token
R3exp 必须设置且为未来的时间戳永不过期的 Token 一旦泄露,风险永久存在
R4敏感数据不得放入 Payload(仅 JWE 可加密)Payload 仅 Base64 编码,任何人可解码查看
R5密钥长度必须符合算法要求(如 HS256 需 ≥256 位)短密钥可被暴力破解或彩虹表攻击
R6验证时必须同时校验签名、过期时间、受众漏检任一环节都可能被绕过

三、签名算法:六种核心方案

3.1 算法对照表
算法类型密钥要求特点适用场景
HS256对称 (HMAC-SHA256)单一共享密钥速度快,密钥分发困难内部服务、微服务间通信
HS384/512对称单一共享密钥更高安全级别高安全要求的内部系统
RS256非对称 (RSA-SHA256)私钥签 / 公钥验公钥可公开分发,私钥保密公开 API、OAuth2
ES256非对称 (ECDSA-P256)私钥签 / 公钥验签名更短,性能更好移动端、带宽敏感场景
PS256非对称 (RSA-PSS)私钥签 / 公钥验更安全的 RSA 填充方案新标准推荐替代 RS
none禁用无不签名,仅 Base64 编码生产环境绝对禁用
3.2 对称 vs 非对称选型
维度对称 (HMAC)非对称 (RSA/ECDSA)
签名速度快慢(RSA 尤其明显)
验证速度快快(仅需公钥)
密钥管理困难(多方共享同一密钥)简单(公钥可公开)
Token 体积小大(RSA 签名 256-512 字节)
适用架构内部服务、单体应用开放平台、第三方集成
密钥泄露风险高(任何持有方都可伪造)低(仅私钥持有方可伪造)

四、JWT 安全:被低估的攻击面

4.1 算法混淆攻击(Algorithm Confusion / alg: none 攻击)

攻击者修改 Header 中的 alg 为 none,并删除 Signature 段,服务端若未严格校验算法,会跳过签名验证直接信任 Payload。

🔴 攻击示例:

原始 Token: eyJhbGciOiJIUzI1NiJ9.xxx.yyy
伪造 Token: eyJhbGciOiJub25lIn0.xxx.  ← alg 改为 none,去掉签名

🛡️ 防御方案:

  • 服务端硬编码允许的算法白名单,拒绝 none
  • 验证时从可信来源读取 alg,不信任 Header 中的声明
  • 对称与非对称算法使用完全独立的密钥
4.2 密钥混淆攻击(Key Confusion)

攻击者将 alg 从 RS256 改为 HS256,然后用公钥作为 HMAC 密钥签名,服务端若用同一公钥验证 HMAC,会导致验证通过。

🛡️ 防御方案:

  • 对称与非对称密钥物理隔离
  • 验证前检查密钥类型与算法是否匹配
  • 不允许客户端指定算法
4.3 暴力破解与密钥泄露
攻击类型描述防御方案
密钥暴力破解短密钥或弱密钥被枚举破解密码学安全随机数生成器,密钥长度 ≥256 位
密钥硬编码密钥写在代码/配置中泄露到 GitHub使用 KMS/HSM 管理,环境变量注入,定期轮换
密钥泄露传播共享密钥被多方持有后扩散非对称算法优先,对称密钥最小权限分发
日志泄露Token 被打印到日志中禁止日志输出完整 Token,脱敏处理
4.4 Token 生命周期风险
风险描述防御方案
永不过期无 exp 或 exp 极远强制设置合理过期时间(通常 15 分钟 ~ 2 小时)
无法撤销签发后服务端无法主动失效结合黑名单/Redis 存储 Token 状态,或使用短 Token + Refresh Token
重放攻击截获的 Token 被重复使用结合 jti + 服务端存储已用 ID,或使用一次性 Token
令牌窃取XSS 窃取 Token,CSRF 伪造请求HttpOnly Cookie 存储(防 XSS),SameSite 属性(防 CSRF)

五、JWT 与 Session 深度对比

特性JWTSession
存储位置客户端(Cookie/LocalStorage/Header)服务端(内存/Redis/数据库)
服务端状态无状态有状态
跨域支持天然支持需 CORS + Cookie 配置
分布式扩展天然支持需共享 Session 存储(Redis)
撤销能力困难(需黑名单机制)简单(服务端直接删除)
信息暴露Payload 明文可见仅 Session ID 暴露
Token 体积较大(500B ~ 2KB)极小(~32B)
过期控制依赖 exp,签发后不可改服务端随时可调整
适用场景分布式系统、微服务、开放 API单体应用、需要即时撤销的场景

六、Refresh Token 机制

6.1 为什么需要双 Token?
  • Access Token:有效期短(15 分钟),减少泄露风险
  • Refresh Token:有效期长(7-30 天),用于在 Access Token 过期后无感知续期
6.2 双 Token 流程
用户登录 → 服务端返回 Access Token + Refresh Token
        ↓
客户端用 Access Token 访问 API
        ↓
Access Token 过期(401)
        ↓
客户端用 Refresh Token 请求 /refresh
        ↓
服务端验证 Refresh Token,返回新的 Access Token + Refresh Token
        ↓
Refresh Token 也过期 → 要求用户重新登录
6.3 Refresh Token 安全要点
要点说明
存储方式必须 HttpOnly Cookie,禁止前端 JavaScript 访问
轮换机制每次刷新后同时更新 Access Token 和 Refresh Token,旧 Refresh Token 立即失效
绑定设备Refresh Token 与设备指纹/IP 绑定,异常环境拒绝刷新
撤销能力Refresh Token 必须在服务端持久化存储,支持随时撤销

七、JWT 最佳实践清单

✅ 生成 JWT 时
  • 始终设置合理的 exp(建议 15 分钟 ~ 2 小时)
  • 敏感数据绝不放入 Payload,需要加密时使用 JWE
  • 使用密码学安全随机数生成器生成密钥
  • 对称密钥长度 ≥256 位,非对称密钥 RSA ≥2048 位
  • 设置 iss、aud、jti 等声明,增强 Token 上下文
  • 使用成熟的库(jsonwebtoken、PyJWT、jjwt),不手写签名逻辑
✅ 验证 JWT 时
  • 硬编码允许的算法白名单,拒绝 none 和意外算法
  • 严格验证签名、过期时间、签发者、受众
  • 对称与非对称密钥物理隔离,防止密钥混淆攻击
  • 设置 Token 最大长度限制,防止畸形数据攻击
  • 验证失败时返回统一错误,不暴露具体失败原因(防止信息泄露)
❌ 避免这样做
  • 用 alg: none 或允许客户端指定算法
  • 将密钥硬编码在代码仓库中
  • 在 Payload 中存储密码、密钥等敏感信息
  • 设置永不过期的 Token
  • 用 JWT 替代所有 Session 场景(需要即时撤销时选 Session)
  • 在 URL 参数中传递 JWT(泄露风险高)
  • 忽略 Token 体积对带宽的影响

八、什么时候选择 JWT?

场景推荐方案核心理由
分布式微服务间身份传递JWT无状态,天然适合跨服务调用
开放 API / 第三方集成JWT (RS256)公钥可公开分发,私钥保密
单页应用(SPA)身份认证JWT + Refresh Token跨域友好,支持无感知续期
移动端 App 认证JWT (ES256)签名短,节省带宽
需要即时撤销权限Session + RedisJWT 撤销困难,Session 可即时删除
内部高安全要求系统Session服务端完全控制,可随时干预
一次性密码/邀请链接带 jti 的短效 JWT自包含,无需服务端存储状态

九、在线体验

欢迎体验 BugCome JWT 解码/验证工具,支持:

  • 🔓 一键解码 JWT Header 和 Payload
  • ✅ 验证签名有效性(支持 HS256/RS256/ES256)
  • ⏰ 自动解析过期时间、签发时间等声明
  • 📋 格式化复制与导出
    1111
C# JWT认证实战:从Token生成到安全传输的完整指南 在Web API与前后端分离架构中,身份认证与接口数据防篡改是开发者必须跨越的门槛。会话认证依赖服务端存储,难以水平扩展;而JSON Web Token(JWT)通过无状态签名机制,将用户身份信息封装为可验证的Token,既支持跨端共享,又能确保信息不可篡改。在C#/.NET环境下,利用JwtBearer中间件与System.IdentityModel.Tokens.Jwt库即可快速搭建安全的认证链路,实现登录发Token、请求自动验签、角色权限控制等能力。同时,密钥管理、Token过期与刷新策略、HTTP 阅读详情

相关推荐

.NET Core Web API JWT验证配置全攻略:从原理到实践

身份验证与授权是现代Web API开发的核心基础,它解决了‘你是谁’和‘你能做什么’两个关键问题。其原理在于通过一套标准化的凭证机制,在无状态的HTTP协议上建立可信的身份会话。JWT(JSON Web Token)作为一种广泛采用的技术方案,通过自包含的令牌结构(Header、Payload、Signature)和数字签名,实现了跨域、跨服务的安全身份信息传递,其技术价值在于为分布式系统和前后端分离架构提供了统一、可扩展的认证基础。在.NET Core工程实践中,开发者可以借助内置的认证授权框架和`Mic

weixin_33416697的博客 373

全网最透彻:JWT Token 到底是什么?原理+结构+流程图+面试考点

在分布式、微服务、前后端分离大行其道的今天,已经成为身份认证、接口鉴权的主流方案。JWT 是什么?JWT 由哪几部分组成?JWT 为什么能实现无状态认证?JWT 安全吗?本文从原理、结构、流程、优缺点、安全实践全方位讲解,让你彻底吃透 JWT。一种开放标准(RFC 7519),用于在网络应用中以 JSON 对象的形式安全传递信息。JWT 是一个自带信息、带签名的无状态身份令牌,适合分布式、微服务、前后端分离项目。登录生成 → 前端存储 → 请求携带 → 验签认证。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1万+

JavaWeb从入门到精通:从Servlet到SSM的完整学习路线

从浏览器发起HTTP请求到服务器返回页面的完整链路,是理解JavaWeb技术栈的关键。本文从基础概念讲起,梳理Web服务器、Servlet、JSP、SpringMVC、MyBatis等核心组件的工作原理,并结合旅游管理系统等经典项目案例,介绍数据库设计、会话管理、性能优化与安全加固的实践方法。无论是学习路线的规划,还是遇到部署报错时的排查思路,都能从中找到参考。掌握这条主线,再去看网上各类JavaWeb项目完整案例与MySQL相关教程,你将不再被动模仿,而是能主动拆解与重构。

weixin_33850890的博客 389

SpringBoot 整合 Shiro + JWT 登录鉴权:为 ChatGPT 微服务 API 发放访问 Token

本文是《ChatGPT 微服务应用体系构建》系列教程中 chatgpt-api 工程的登录授权篇,核心讲解如何用 SpringBoot 整合 Shiro + JWT,以"账号密码换 Token、Token 准入访问"的方式替代明文账密传参,为对外暴露的 OpenAI 类 API 建立安全的准入机制。读完本文你将掌握登录鉴权的完整链路设计、Token 发放与携带方式,以及它在后续公众号扫码/验证码登

gitblog_00093的博客 415

.NET Core中使用JWT Token验证:从签发到避坑的完整实践

在前后端分离与微服务架构日益普及的今天,身份认证始终是系统安全的第一道门槛。基于令牌的无状态认证机制,通过在客户端保存加密的Token,服务端只需验签即可确认用户身份,从而摆脱了Session在分布式环境中的黏滞问题。JWT作为最流行的Token标准,以其自包含、跨语言、易扩展等特性,被广泛用于开放API鉴权、多端登录等场景。在.NET Core应用中,借助JwtBearer中间件可以实现完整的Token签发与验证链路,包括配置TokenValidationParameters、处理Claims映射、设置过

weixin_29698641的博客 251

JWT原理详解:从登录认证到签名校验的完整指南

在Web应用开发中,身份认证与接口鉴权是保障系统安全的基础环节。传统Session方案依赖服务端存储,而JSON Web Token(JWT)以无状态、自包含的令牌形式,实现了跨服务、跨端的身份凭证传递。JWT由Header、Payload和Signature三部分组成,其中签名机制防止Token被篡改,是安全性的核心。理解JWT的编码规则、签名算法(HS256/RS256)及校验流程,有助于开发者正确选型并规避安全漏洞。本文从登录场景出发,层层拆解JWT结构,结合最小实现演示生成与验证过程,并对比Sess

weixin_29325007的博客 256

JWT原理与实战:从Token续签到漏洞防御的完整指南

在前后端分离与微服务架构中,如何安全地管理用户会话是每个后端工程师都会面对的工程问题。传统Session依赖服务端存储,在分布式环境下扩容困难;而JWT(JSON Web Token)通过将用户状态编码进签名令牌,使服务端变为无状态验证者,从而简化水平扩展。理解其Header、Payload与Signature的三段式结构,是掌握安全用法的前提。然而,JWT并非万能,算法混淆、弱密钥、敏感信息泄露等漏洞在实战中屡见不鲜,必须通过固定算法白名单、短时Access Token与Refresh Token配合Re

weixin_29323551的博客 205

SpringBoot集成JWT实现无状态认证:从原理到实战

在分布式架构和微服务盛行的今天,传统的Session-Cookie身份认证机制面临扩展性、跨域和服务器内存压力等挑战。JWT(JSON Web Token)作为一种基于JSON格式的开放标准,通过紧凑且自包含的令牌结构,实现了无状态的认证与授权。其核心原理在于将用户信息编码为三段式结构(Header、Payload、Signature),并使用密钥进行签名,确保令牌的完整性和防篡改。这种设计为现代Web应用带来了显著的技术价值:服务器无需存储会话状态,极大地提升了系统的水平扩展能力和高并发处理性能。在工程实

weixin_30245867的博客 351

Java JWT Token认证实战:从原理到Spring Boot集成与安全实践

Token认证是现代Web应用身份验证的核心机制,它通过无状态令牌解决分布式系统中的会话管理难题。其原理基于数字签名确保信息完整性和可信度,实现了服务端无需存储会话状态即可验证客户端身份。这一技术价值在于提升系统扩展性、简化跨域访问和支持微服务架构。在应用场景上,Token认证广泛用于API安全、单点登录和移动端身份验证。JSON Web Token作为Token认证的流行标准,以其紧凑的自包含结构成为Java开发中的首选方案。本文结合Spring Boot框架,详细解析JWT的生成、验证流程,并探讨刷新令

weixin_34326179的博客 349

SpringBoot整合JWT:从原理到实战,搞定无状态登录认证

在前后端分离与微服务架构日益普及的今天,传统Session会话机制暴露出跨域、扩展性差等问题。JSON Web Token(JWT)作为一种紧凑、自包含的Token规范,通过Header、Payload、Signature三段式结构,将用户身份与签名打包,服务端无需保存会话即可完成身份校验。基于HS256或RS256签名算法,SpringBoot可快速整合JWT,结合拦截器或Spring Security过滤器实现统一鉴权,并配合刷新令牌与黑名单机制弥补无状态认证的短板。这一方案不仅适用于登录认证,还广泛用

weixin_34116482的博客 291

声品质粗糙度matlab,声品质的应用分析方法

声品质的应用分析方法2016-04-05 09:18:57阅读次数:14198摘要:声品质分析在噪声的主观评价方面已经得到越来越多的应用。本文比较了声品质分析与传统计权声级的区别,并介绍了在声品质分析的实际应用中,针对稳态信号、非稳态信号的几种不同分析方法,以及各分析方法的要求和特点。关键词:声品质,响度,尖锐度,粗糙度,波动度1前言传统评价噪声的方法主要为计权声压级,用以反映声音的大小。但是人耳...

weixin_30767323的博客 2438

Java项目JWT实战:从auth0/java-jwt库集成到生产环境安全实践

在分布式系统和微服务架构中,用户认证与授权是保障系统安全的核心环节。JWT(JSON Web Token)作为一种基于JSON的开放标准,通过数字签名实现无状态的身份验证,解决了传统Session方案在水平扩展时的状态管理难题。其技术价值在于将用户信息编码为可自包含的Token,服务端无需维护会话状态,显著提升了系统的可扩展性和性能。在Java生态中,auth0/java-jwt库凭借清晰的API设计和全面的功能支持,成为实现JWT认证的主流选择。本文聚焦于Java后端开发场景,深入解析JWT的三段式结构、

weixin_30298497的博客 377

BUCK电路三种工作模式全解析:CCM、BCM、DCM到底怎么选?

本文深入解析BUCK电路的CCM、DCM和BCM三种工作模式,通过对比其电流波形、效率、纹波及环路特性,提供基于计算公式的量化判断方法。文章结合电池供电、高精度模拟等具体应用场景,给出明确的模式选型策略与实战设计指南,帮助工程师根据核心需求做出最优决策。

ee345的博客 484

(八)从“认证混乱难管控”到“JWT高效赋能”——JWT实战进阶指南

摘要: 本文分享了作者从Session认证转向JWT的心路历程,剖析了Session在分布式、多端场景下的痛点(如Session共享、扩展性差、安全性不足等),并详细介绍了JWT的核心概念、结构(Header.Payload.Signature)及优势(无状态、多端适配、高安全性)。通过对比JWT与Session的差异,结合Spring Boot整合JWT的实战代码(依赖配置、密钥管理、工具类封装),帮助Java开发者快速掌握主流认证方案,解决分布式系统的用户认证问题。

修行者Java的博客 533

从IPv6到Tomcat:彻底解决127.0.0.1拒绝连接的完整指南

本文提供了从IPv6到Tomcat的全面指南,帮助开发者彻底解决127.0.0.1拒绝连接的问题。涵盖网络协议栈、服务配置、端口管理等多个层面的排查方法,特别针对Tomcat服务提供了专项解决方案,确保开发者能够快速定位并修复连接问题。

weixin_29207439的博客 471

Plant Simulation 实战指南:从二次分配问题到优化布局设计

本文是一份Plant Simulation实战指南,详细讲解了如何利用该仿真软件解决工厂布局中的二次分配问题。通过从数据准备、模型搭建到集成遗传算法进行自动化优化的完整流程,帮助工程师在数字孪生环境中高效寻找最优设备布局方案,从而显著降低物流成本,提升生产效率。

i1j2k的博客 564

Python实战:OAuth2与JWT构建现代Web应用安全体系

在分布式系统和微服务架构中,身份认证与授权是保障应用安全的核心基础。OAuth2作为一种开放授权标准,通过授权码等流程,解决了第三方应用安全获取用户资源权限的问题,而无需暴露用户密码。JWT(JSON Web Token)作为一种自包含的令牌格式,则以其无状态、轻量级的特性,成为传递认证信息的理想载体,尤其适合前后端分离与多服务通信场景。两者的结合,为现代应用提供了从权限获取到身份信息传递的完整安全解决方案。本教程将聚焦于**授权码模式**与**JWT令牌**的实践,通过Python的Authlib等库,手

weixin_33957648的博客 320

全能扫描王的实现(python版本)- 目标检测图像矫正

全能扫描王python代码实现,可用于文件扫描或者是图像校正

搬砖猛女的啃书历程 5488

iOS应用JWT认证实战:从原理到Swift安全实现

在现代API认证领域,JSON Web Token(JWT)作为一种无状态、自包含的令牌标准,已成为构建可扩展微服务架构的核心技术。其原理基于Header、Payload、Signature三段式结构,通过数字签名确保信息完整性与来源可信,无需服务器维护会话状态,从而显著提升系统性能与扩展性。在移动开发实践中,JWT的价值在于实现安全的客户端身份验证与授权。对于iOS应用,这涉及到令牌的安全存储、自动化请求头注入以及无缝刷新机制等关键工程问题。本文将聚焦于Swift语言环境,深入探讨如何利用Keychain

weixin_30357231的博客 358

AOA(Angle of Arrival,到达角)定位算法及其误差分析的原理和MATLAB仿真_aoa定位算法

如图所示,有基站 S 1 ( x 1 , y 1 , z 1 ) , S 2 ( x 2 , y 2 , z 2 ) S_1(x_1,y_1,z_1),S_2(x_2,y_2,z_2) S1​(x1​,y1​,z1​),S2​(x2​,y2​,z2​),目标 T ( x , y , z ) T(x,y,z) T(x,y,z)。2+(z_1-z_2)^2} step1:两基站间的距离L=(x1−x2)2+(y1​−y2​)2+(z1​−z2​)2。

2401_87555613的博客 1482

基于STM32设计的智能家居控制系统(华为云)_363

本项目设计并实现了一种基于STM32的智能家居控制系统,融合了语音识别、远程控制、环境监测与安全报警等功能。系统以STM32F103C8T6单片机为核心控制器,集成ESP8266 Wi-Fi模块实现与华为云IOT物联网平台的数据交互,采用MQTT协议进行通信。用户可通过语音识别模块控制风扇、空调、窗帘、卧室灯、客厅灯和电视等家电的开关操作,同时也可通过Android手机APP或Windows电脑上位机进行远程控制。系统还具备温湿度、光照强度、烟雾浓度和火焰检测功能,当检测到异常情况时,自动触发蜂鸣器报警并向

880

WeBlog 鉴权体系深度解析:Spring Security + JWT 实现前后端分离登录认证

WeBlog 是一个基于 Spring Boot + Vue 3.2 + Vite 4.3 的前后端分离个人博客系统,其中**WeBlog 鉴权体系**完全基于 **Spring Security + JWT** 构建。本文将深度解析这套**前后端分离登录认证**方案:从登录过滤器、Token 生成与校验,到安全配置与异常处理,一步步拆解 JWT 登录认证的完整实现,非常适合正在学习 Spring

gitblog_00370的博客 986

自监督学习原理与代码实战案例讲解

自监督学习原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 1. 背景介绍 1.1 自监督学习的起源与发展 1.1.1 监督学习的局限性

AI天才研究院 622

JWT 安全认证深度剖析:从底层原理到企业级实战落地

JWT认证机制在分布式系统中的实践与应用 本文深入探讨了JWT(JSON Web Token)在分布式系统中的认证机制实现。首先分析了传统Session认证的局限性,详细介绍了JWT的三段式结构(Header.Payload.Signature)及其安全特性。通过SpringBoot+MyBatisPlus的实战案例,展示了JWT的完整集成方案,包括令牌生成、验证和刷新流程。文章重点阐述了JWT的安全最佳实践,包括密钥管理、令牌安全设置和验证机制等关键要素,并与传统Session认证进行了对比。

果酱 の 博客 976

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Django 学习笔记(补充1)| 彻底吃透:自定义 JWT 认证 + 全局登录中间件

JWT(JSON Web Token)就是前端的 “登录身份证”。登录成功 → 发放 JWT后续请求 → 携带 JWT服务器验证 JWT → 确认身份JWT 长这样:plaintext分为三部分:头部(声明加密算法)、载荷(存放自定义信息)、签名(对前两部分加密,防止篡改)。这是 DRF 官方规范的认证类,专门验证 JWT 是否合法。全代码import jwtfrom .models import OAUser#这里根据自己的项目来定义,我的用户模型定义为OAUser。

2403_88403151的博客 422

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Cookie、Session、Token 三兄弟彻底搞懂:从原理到选型实战

在Web开发中,如何理解HTTP无状态协议下的用户认证机制是每个前后端工程师的必修课。Cookie作为浏览器本地的键值对存储,负责携带会话标识;Session在服务端保存用户状态,通过Session ID关联;而Token(如JWT)则用密码学签名实现无状态验证。三者并非互相替代,而是取长补短:Cookie是传输载体,Session是存储方案,Token是签发协议。从传统服务端渲染到前后端分离、移动端与开放API,选型需考虑安全属性(HttpOnly、SameSite)、分布式会话共享、Token续签与吊销

weixin_33883104的博客 215

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: Avalonia UI 控件样式定义的三种方式详解
下一篇: Avalonia UI 样式进阶实战:外置样式 + MVVM 主题切换 + 样式优先级全解析
bugcome_com
博客等级 码龄3年 32粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bugcome_com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值