当前位置: 首页 > news >正文

代码网站建设红河县网站建设

代码网站建设,红河县网站建设,如何自己做网址,三门峡河南网站建设2023年#xff0c;第31周#xff0c;第2篇文章。给自己一个目标#xff0c;然后坚持总会有收货#xff0c;不信你试试#xff01; 本篇文章主要简单讲讲#xff0c;.Net Framework框架下使用JWT的代码例子#xff0c;以及他们的基本概念。 2002年微软发布了.net framewo… 2023年第31周第2篇文章。给自己一个目标然后坚持总会有收货不信你试试 本篇文章主要简单讲讲.Net Framework框架下使用JWT的代码例子以及他们的基本概念。 2002年微软发布了.net framework 1.0那个时候博主刚开始玩传奇游戏接触电脑的时间还是挺早的。 目录 1、什么是JWT1.1、头部Header1.2、载荷Payload1.3、签名Signature1.4、JWT工作流程1.5、JWT优点1.6、JWT缺点 2、Framework框架2.1、版本历时 3、JWT代码实现3.1、引入库3.2、导入命名空间 3.3、生成JWT代码3.4、验证JWT代码 1、什么是JWT JWTJSON Web Token是一种开放的、自包含的标准用于在网络应用间传输信息。 它基于JSONJavaScript Object Notation格式并使用数字签名或加密来验证消息的完整性和真实性。 JWT由三个部分组成头部Header、载荷Payload和签名Signature。 1.1、头部Header 包含描述JWT的元数据例如所使用的加密算法和类型通常是JWT。 {alg: HS256,typ: JWT }1.2、载荷Payload 包含具体的数据也可以添加自定义的声明Claim如用户名、角色、过期时间等。 {sub: 1234567890,name: John Doe,iat: 1516239022 }1.3、签名Signature 由头部和载荷组成并使用私钥或对称密钥进行签名确保数据的完整性和真实性。 HMACSHA256(base64UrlEncode(header) . base64UrlEncode(payload),secretKey )1.4、JWT工作流程 1客户端提供有效的凭证如用户名和密码进行身份验证请求。 2服务器进行身份验证并返回带有有效签名的JWT给客户端。 3客户端在后续请求中使用该JWT通过解析和验证JWT服务器可以确定请求的发起者身份和权限。 1.5、JWT优点 1自包含性 JWT包含了身份验证和授权所需的所有信息减轻了服务器存储状态的负担。 2松散耦合 JWT可用于不同的平台和服务之间的身份验证和授权具有良好的兼容性。 3可扩展性 可以自定义声明来存储额外的数据。 4安全性 JWT的签名可以确保数据的完整性和真实性。 1.6、JWT缺点 1无法撤销 一旦 JWT 被签发就无法撤销或使其失效除非将密钥从客户端强制撤销或更改。因此如果需要撤销令牌JWT 不是一个合适的选择。 2体积较大 JWT 包含了头部、载荷和签名在网络传输中占用的空间相对较大。尽管可以对 JWT 进行压缩但仍然比一些其他的验证机制更加臃肿。 3敏感信息存储 JWT 默认存储在客户端通常存储在浏览器的本地存储如 LocalStorage 或 Cookie中。这使得 JWT 脆弱因为它容易受到 XSS 攻击的影响。因此不建议将敏感信息存储在 JWT 的载荷中。 需要注意的是由于JWT是基于Base64编码的因此它并不是加密的。所以在使用JWT时不要在其载荷中存储敏感信息如密码或银行卡号等。 总结起来JWT是一种轻量级、安全的身份验证和授权解决方案其简单的结构和可扩展性使其成为当今Web应用程序中常用的身份验证标准之一。 2、Framework框架 2.1、版本历时 .NET Framework 是微软开发的一个应用程序开发框架提供了开发和运行各种类型应用程序所需的库、工具和运行时环境。下面是.NET Framework 各个主要版本的历时情况 编号版本发布时间备注1.NET Framework 1.0发布于2002年2月这是最早的.NET Framework 版本提供了基本的库和运行时环境用于支持开发和运行应用程序。2.NET Framework 1.1发布于2003年4月这个版本是对 .NET Framework 1.0 的升级增加了一些新功能和修复了一些问题。3.NET Framework 2.0发布于2005年11月这是一个重大的版本升级引入了许多新的功能如可编程的 Windows Forms 控件、提供可视化设计的 Web 服务、增强的数据访问和 XML 处理支持等。4.NET Framework 3.0发布于2006年11月实际上.NET Framework 3.0 并未引入新的运行时而是在 .NET Framework 2.0 基础上添加了一组新的功能。5.NET Framework 3.5发布于2007年11月这是对 .NET Framework 3.0 的升级引入了一些新的特性和改进如 LINQ (Language Integrated Query)、ABM (ASP.NET AJAX) 等。6.NET Framework 4.0发布于2010年4月这是一个又一个重大版本升级引入了大量的新功能和改进如支持并行计算、新的编译器、Entity Framework 4.0、改进的 WCF 和 WPF 等。7.NET Framework 4.5发布于2012年8月这是 .NET Framework 4.0 的升级版引入了一些新的特性和改进如异步编程模型 (async/await)、改进的 GC (垃圾回收器)、桌面应用程序的改进等。8.NET Framework 4.6发布于2015年7月这是 .NET Framework 4.5 的升级版引入了一些新的特性和改进如 RyuJIT (即时编译器)、改进的 WPF、改进的 ASP.NET 等。9.NET Framework 4.7发布于2017年4月这是 .NET Framework 4.6 的升级版引入了一些新的特性和改进。10.NET Framework 4.8发布于2019年4月这是 .NET Framework 4.7 的升级版引入了一些新的特性和改进。 需要注意的是自.NET Framework 4.5起微软改变了发布策略不再单独发布全新的框架版本而是通过积累更新 (Cumulative Updates) 来提供新功能和改进以确保开发者可以更加轻松地升级和迁移。 此外需要注意的是自 .NET Framework 4.8 起微软正逐渐停止对传统的.NET Framework 的更新并推荐开发者使用更加开放和跨平台的 “.NET” 系列产品如 .NET Core 和 .NET 5。 3、JWT代码实现 在C# .NET Framework中使用JWTJSON Web Token插件来处理身份验证和授权 你可以使用提供JWT支持的第三方库如System.IdentityModel.Tokens.Jwt。 这个库是.NET Framework的一部分可以用于创建和验证JWT。 下面使用System.IdentityModel.Tokens.Jwt库生成和验证JWT 3.1、引入库 首先确保你的项目引用了System.IdentityModel.Tokens.Jwt库。 3.2、导入命名空间 导入所需的命名空间 using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Text; using Microsoft.IdentityModel.Tokens;3.3、生成JWT代码 使用以下代码生成JWT // 设置JWT的密钥 string secretKey your_secret_key; byte[] keyBytes Encoding.UTF8.GetBytes(secretKey); var securityKey new SymmetricSecurityKey(keyBytes);// 创建JWT的签名凭证 var signingCredentials new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);// 设置JWT的Claims var claims new[] {new Claim(ClaimTypes.Name, John Doe),new Claim(ClaimTypes.Email, john.doeexample.com),// 添加其他需要的声明 };// 创建JWT的Token var token new JwtSecurityToken(issuer: your_issuer,audience: your_audience,claims: claims,expires: DateTime.Now.AddDays(1),signingCredentials: signingCredentials );// 生成JWT字符串 var jwtToken new JwtSecurityTokenHandler().WriteToken(token);3.4、验证JWT代码 使用以下代码验证JWT // 验证JWT的密钥 var tokenValidationParameters new TokenValidationParameters {ValidateIssuer true,ValidateAudience true,ValidateIssuerSigningKey true,IssuerSigningKey securityKey,ValidIssuer your_issuer,ValidAudience your_audience };// 验证JWT字符串 var claimsPrincipal new JwtSecurityTokenHandler().ValidateToken(jwtToken, tokenValidationParameters, out _);请注意上述示例中的your_secret_key、your_issuer和your_audience是示例值你需要根据实际情况替换为真实的值。 使用以上代码你可以通过JwtSecurityTokenHandler类生成JWT字符串并使用同样的类验证和解析JWT字符串。你还可以根据需要添加其他声明设置过期时间和其他参数。
http://www.hkea.cn/news/14422311/

相关文章:

  • 广东营销式网站做百度网站分录
  • 河北省建设厅报名网站宿州医疗网站建设
  • 山东莱州市建设局网站买个域名
  • ps切图做网站网站定位策划书
  • 怎么做免流网站天元建设集团有限公司申请破产了吗
  • 建网站卖东西拼多多电商运营模式
  • 胶州国际网站建设效果商事主体信息查询平台
  • 招聘网站开发计划书百科网站模板
  • 和印度做外贸的网站网站域名分析
  • 株洲做网站 省心磐石网络自己怎么做网站视频赚钱吗
  • wordpress 外贸站主题网站交互做的比较好的
  • 建设网站宽度最好是多少钱惠东网站建设
  • 响水做网站的价格电商网站建设会计分录
  • 设计构建网站青岛做网站的公司哪家好一点
  • 网页设计网站题目wordpress免费主题网站
  • 建设淘宝网站的目的wordpress常用函数
  • 网站建设 软件有哪些内容游戏推广员拉人犯法吗
  • 找外包做网站巨久科技网站建设
  • 电商网站建设相关书籍推荐做网站应下哪个软件
  • 成都建设网站哪个好济南个人网站建设
  • 哪里有可以做空比特币的网站网站开发有哪些软件有哪些
  • 福州专业网站制作的公司设置网站建设方案
  • 下载室内设计排版模板网站有哪些想学电商去哪学
  • wordpress开启多站点福田网络
  • 网站seo方案模板做网站推广的公司
  • 国外做外贸哪个网站好些网站开发的基本原则
  • 哪些网站做的比较好看的沈阳网站推广¥做下拉去118cr
  • 宁波外贸网站建设有哪些虚拟网站服务器
  • 云南网站优化哪家好做网站优化的关键词怎么设置
  • 网站图片链接到视频怎么做成都工业设计公司