一个完整的类用来生成RSACryptoServiceProvider单例类(.NET)
Net 一个 生成 完整 单例 用来
2023-09-11 14:17:56 时间
1 internal class CcbRsaCryptProvider
2 {
3 private static RSACryptoServiceProvider _providerForSign;
4 private static RSACryptoServiceProvider _providerForVerifySign;
5 private static readonly object SignObj = new object();
6 private static readonly object VerifySignObj = new object();
7
8 internal static RSACryptoServiceProvider GetInstanceForSign(string privateKeyFile)
9 {
10 if (null != _providerForSign) return _providerForSign;
11 lock (SignObj)
12 {
13 if (null != _providerForSign) return _providerForSign;
14 var provider = new RSACryptoServiceProvider();
15 provider.FromXmlString(GetXmlContent(privateKeyFile));
16 _providerForSign = provider;
17 }
18 return _providerForSign;
19 }
20
21 internal static RSACryptoServiceProvider GetInstanceForVerifySign(string publicKeyFile)
22 {
23 if (null != _providerForVerifySign) return _providerForVerifySign;
24 lock (VerifySignObj)
25 {
26 if (null != _providerForVerifySign) return _providerForVerifySign;
27 var provider = new RSACryptoServiceProvider();
28 provider.FromXmlString(GetXmlContent(publicKeyFile));
29 _providerForVerifySign = provider;
30 }
31 return _providerForVerifySign;
32 }
33
34 private static string GetXmlContent(string filePath)
35 {
36 return File.ReadAllText(filePath);
37 }
38
39 private CcbRsaCryptProvider()
40 {
41 }
42 }
相关文章
- abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之二(二十八)
- NSwag Tutorial: Integrate the NSwag toolchain into your ASP.NET Web API project
- ASP.NET Razor - C# and VB Code Syntax
- 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
- .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
- C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点
- 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生
- ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借
- C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入
- bootstrap-data-target触发模态弹出窗元素的data使用 data-toggle与data-target的作用 深入ASP.NET MVC之九:Ajax支持 Asp.Net MVC4系列--进阶篇之AJAX
- 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? .Net Web开发技术栈
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式
- Word控件Spire.Doc 【文档操作】教程(八):在 C#、VB.NET 中将内容从一个 Word 文档复制到另一个文档
- 【架构设计】.Net Core负载均衡实现
- 一个基于.NET平台的自动化/压力测试系统设计简述
- .Net Core Grpc 实现通信
- mybatis.net
- [.NET]c#.net程序中使用ffmpeg.exe来处理视频并生成上传视频的截图
- IIS-真正解决ASP.NET每一个页面首次访问超级慢的问题