c# 使用 jwt

news/2025/10/27 16:39:20/文章来源:https://www.cnblogs.com/aitong/p/19169524

基于 oauth2.0 协议,

具体原理可以参考:https://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html

    public class JWTHelper{private const string salt = "123";//盐//获得jwt令牌public static string Create(string info){Dictionary<string, string> header = new Dictionary<string, string>();header.Add("alg", "MD5");header.Add("typ", "JWT");Dictionary<string, object> payload = new Dictionary<string, object>();//JWT 官方字段DateTime now = System.DateTime.Now;payload.Add("exp", now.AddHours(24));//过期时间payload.Add("nbf", now);//生效时间payload.Add("iat", now);//签发时间//jwt 特有字段payload.Add("info", info);string base64Header = Base64Url(Newtonsoft.Json.JsonConvert.SerializeObject(header));string base64Payload = Base64Url(Newtonsoft.Json.JsonConvert.SerializeObject(payload));string tmp = base64Header + "." + base64Payload;string sign = Md5(tmp + salt);//加盐return base64Header + "." + base64Payload + "." + sign;}//校验是否合法,是否过期public static bool Check(string token, out string info){info= "";try{string[] arr = token.Split('.');string base64Header = arr[0];string base64Payload = arr[1];string sign = arr[2];var signCheck = Md5(base64Header + "." + base64Payload + salt);if (signCheck != sign){return false;}var dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(Base64UrlDecode(base64Payload));if (Convert.ToDateTime(dic["exp"]) < System.DateTime.Now){//过期了return false;}info = dic["info"].ToString();return true;}catch (Exception err){return false;}}//获得base64编码private static string Base64Url(string input){//Base64 有三个字符+、/和=,在 URL 里面有特殊含义,所以要被替换掉:=被省略、+替换成-,/替换成_ 。string output = "";byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);try{output = Convert.ToBase64String(bytes).Replace('+', '-').Replace('/', '_').TrimEnd('=');}catch (Exception e){throw e;}return output;}//获得base64解码private static string Base64UrlDecode(string input){string output = "";input = input.Replace('-', '+').Replace('_', '/');switch (input.Length % 4){case 2:input += "==";break;case 3:input += "=";break;}byte[] bytes = Convert.FromBase64String(input);try{output = System.Text.Encoding.UTF8.GetString(bytes);}catch{output = input;}return output;}//获得md5校验码private static string Md5(string input, int bit = 16){System.Security.Cryptography.MD5CryptoServiceProvider md5Hasher = new System.Security.Cryptography.MD5CryptoServiceProvider();byte[] hashedDataBytes;hashedDataBytes = md5Hasher.ComputeHash(System.Text.Encoding.GetEncoding("gb2312").GetBytes(input));System.Text.StringBuilder tmp = new System.Text.StringBuilder();foreach (byte i in hashedDataBytes){tmp.Append(i.ToString("x2"));}if (bit == 16)return tmp.ToString().Substring(8, 16);elseif (bit == 32) return tmp.ToString();//默认情况else return string.Empty;}}

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025义乌做刺绣的厂家推荐榜单

2025义乌做刺绣的厂家推荐下。义乌及周边区域作为纺织服饰配套产业集聚地,刺绣加工领域企业数量众多,涵盖传统手绣、机械刺绣等不同类型,产品可适配服装、家居装饰、礼品等多个应用场景。 Top1:浦江县俊贤刺绣有限…

2025 年液压旋转接头,高温蒸汽旋转接头,通水旋转接头厂家最新推荐,精准检测与稳定性能深度解析

引言 液压、高温蒸汽及通水旋转接头作为工业流体传输的核心部件,其密封可靠性、工况适配性直接决定生产连续性与能源效率。据行业专项测评数据显示,优质接头可降低设备停机率 37%,减少流体损耗达 45%,而劣质产品导…

Linux基本命令篇 —— date命令

Linux基本命令篇 —— date命令Linux基本命令篇 —— date命令 https://blog.csdn.net/2302_80871796/article/details/148979465网站:http://shibowl.topgithub:https://github.com/hanbinjxnc博客园:https://www.…

2025 年连铸机旋转接头,埋入式旋转接头,球体摆动旋转接头,造纸机旋转接头厂家最新推荐,精准检测与稳定性能深度解析

引言 连铸机、埋入式、球体摆动及造纸机专用旋转接头作为工业流体传输的核心部件,其性能直接关系到冶金、造纸等行业的生产连续性与成本控制。据行业协会 2025 年专项测评数据显示,优质旋转接头可使设备停机维修频次…

CorelDRAW的shell扩展ShellXP.dll导致资源管理器explorer.exe卡死/冻结/无响应/挂起

CorelDRAW的shell扩展ShellXP.dll导致资源管理器explorer.exe卡死/冻结/无响应/挂起环境:系统:Windows 10 x64 CorelDRAW:2019 x64故障表现:偶尔启动进入桌面后任务栏很快卡死,连托盘区图标都没出来几个,鼠标移上…

nef怎么转换成jpg格式你还不会?分享4个实用技巧

你用单反拍下的精彩瞬间,大多都静静地躺在存储卡里,以NEF格式保存着原始的美。但这种专业格式在分享时却常让人头疼——如何快速分享到社交网络?别急,这就为你推荐4款好用的NEF转JPG宝藏工具,不仅转换画质有保障,…

2025 年非标旋转接头,异形旋转接头,钢铁厂旋转接头厂家最新推荐,聚焦高端定制需求与全案交付能力

引言 在钢铁、冶金等工业领域,非标旋转接头、异形旋转接头及钢铁厂专用旋转接头作为核心流体传输部件,其定制精度与工况适配性直接决定生产连续性与安全性。然而市场上多数产品存在定制响应慢、极端工况耐受差等问题…

故障处理:ORA-02298: cannot validate (CTG.FK_CTG_LOGS_INT_201306) – parent keys not found

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。故障处理:O…

2025年上海家电展会展台搭建服务商权威推荐榜单:展台搭建会展服务/会展展台装修设计/展台设计装修源头公司精选

上海会展产业年产值已突破600亿元,其中家电展览会展台搭建市场需求增速达18%,专业化服务成为展会成功的关键因素。 据2025年上海会展行业协会统计数据显示,上海全年举办各类家电相关展会超过120场,参展企业数量突破…

2025 年矿车生产,井下矿车,底侧卸式矿车厂家最新推荐,产能、专利、环保三维数据透视

引言 2025 年全球矿用卡车需求量预计突破 12,000 台,井下矿车与底侧卸式矿车作为核心运输装备,其性能直接影响矿山开采效率与安全。为破解市场选型难题,本次测评联合行业权威机构,基于产能规模、专利技术、环保认证…

macro出pin

set terms [dbGet [dbGet top.insts.cell.name JLFLS064K09DG -p2].pgInstTerms.name VPP -v -p1] set n 0 foreach term $terms {set inst [dbGet $term.inst]set lrects [dbGet $term.term.pins.layerShapeShapes.sh…

2025 年定制矿车,大型矿车,固定式矿车厂家最新推荐,产能、专利、环保三维数据透视

引言 随着矿山开采向大型化、智能化转型,定制矿车、大型矿车及固定式矿车的性能与合规性成为企业核心需求。本次榜单基于矿山设备行业协会 2025 年度专项测评数据生成,测评覆盖全国 38 家源头厂家,采用 "产能 …

DP1312多协议高性能读卡芯片支持A/B/Felaca/18092智能门锁读卡器模拟卡兼容PN512 - 动能世纪

特性简介DP1312EA是一款应用广泛的非接触读卡器芯片 ,集成了在 13.56MHz 下的多种非接触通信方式和协议 ,具有很高的技术集成度。其读写器模式能够支持 ISO/IEC 14443A、ISO/IEC 14443B 标准以及 FeliCa 规范,同时也…

2025 年矿用平板车,重型平板车,履带平板车,矿山平板车厂家最新推荐,产能、专利、环保三维数据透视!

引言 矿山平板车作为物料转运核心设备,其性能直接关联作业效率与安全。当前市场品牌繁杂,采购方常因信息不对称陷入选择困境。本次推荐基于 2025 年 10 月最新行业测评,联合专业检测机构参照 MT/T 1052-2007《重型平…

醒图电脑版下载与安装教程(2025最新版)

想在电脑上体验高质量修图?本文带来 **醒图电脑版下载与安装教程**,详细介绍从下载、安装到功能使用的全过程。支持 Windows 10/11 系统,无需模拟器即可运行。还包含 AI 智能美颜、专业调色、滤镜特效与常见问题解决…

2025 年 10 月翻斗式矿车,侧翻矿车,1 吨矿车,运输矿车厂家最新推荐,产能、专利、环保三维数据透视

引言 随着矿山行业电动化转型加速,翻斗式、侧翻式及 1 吨级运输矿车的性能与合规性需求持续攀升。本次测评基于恒州诚思 2025 年专项调研数据,联合矿用设备检测机构开展权威评估,涵盖 32 家源头厂家的核心产品。测评…

读书笔记:告别数据冗余!Oracle引用分区让父子表管理如此简单

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学…

谷歌翻译 100 遍《我常常追忆过去》

谷歌翻译 50 遍:我经常想起过去。 我梦想的美好生活持续了很长时间。切,吃,吃,享受。 根据车型年份的不同,存在一些差异。云很厚,风很大。我永远不会忘记我一生中的悲伤事件,但我的大部分记忆都被时间的蹂躏所分…

2025 年 10 月绕包电缆头,熔接电缆头,预制电缆头,冷缩管电缆头厂家最新推荐,产能、专利、环保三维数据透视

引言 绕包、熔接、预制及冷缩管电缆头作为电力传输系统的核心连接部件,其性能直接决定电网运行安全性与稳定性。2025 年三季度行业监测数据显示,不合格产品引发的电力故障占比达 17.3%,其中材料劣质、工艺缺陷是主要…

2025年10月兰花油品牌推荐榜单:多维度深度对比与选择指南

在选择护肤品时,许多用户希望找到一款既安全有效又能满足特定肌肤需求的兰花油产品。这类用户可能是注重成分安全性的敏感肌人群,或是寻求抗初老、修护屏障的护肤爱好者。他们通常面临市场信息繁杂、产品宣传夸张、难…