C# -- RSA加密与解密
1. RSA加密与解密 -- 使用公钥加密、私钥解密
public class RSATool{public string Encrypt(string strText, string strPublicKey){RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();rsa.FromXmlString(strPublicKey);byte[] byteText = Encoding.UTF8.GetBytes(strText);byte[] byteEntry = rsa.Encrypt(byteText, false);return Convert.ToBase64String(byteEntry);}public string Decrypt(string strEntryText,string strPrivateKey){RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();rsa.FromXmlString(strPrivateKey);byte[] byteEntry = Convert.FromBase64String(strEntryText);byte[] byteText = rsa.Decrypt(byteEntry, false);return Encoding.UTF8.GetString(byteText);}public Dictionary<string,string> GetKey(){Dictionary<string, string> dictKey = new Dictionary<string, string>();RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();dictKey.Add("PublicKey", rsa.ToXmlString(false));dictKey.Add("PrivateKey", rsa.ToXmlString(true));return dictKey;}}
测试:
RSATool myRSA = new RSATool();Dictionary<string, string> dictK = new Dictionary<string, string>();dictK = myRSA.GetKey();string strText = "123456";Console.WriteLine("要加密的字符串是:{0}", strText);string str1 = myRSA.Encrypt("123456", dictK["PublicKey"]);Console.WriteLine("加密后的字符串:{0}", str1);string str2 = myRSA.Decrypt(str1, dictK["PrivateKey"]);Console.WriteLine("解密后的字符串:{0}", str2);
View Code
2. RSA加密与解密 -- 使用同一个密钥容器进行加密与解密
public class RSAToolX{public string Encrypt(string strText){CspParameters CSApars = new CspParameters();CSApars.KeyContainerName = "Test001";RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);byte[] byteText = Encoding.UTF8.GetBytes(strText);byte[] byteEntry = rsa.Encrypt(byteText, false);return Convert.ToBase64String(byteEntry);}public string Decrypt(string strEntryText){CspParameters CSApars = new CspParameters();CSApars.KeyContainerName = "Test001";RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);byte[] byteEntry = Convert.FromBase64String(strEntryText);byte[] byteText = rsa.Decrypt(byteEntry, false);return Encoding.UTF8.GetString(byteText);}}
测试 :
RSAToolX myRSA = new RSAToolX();string strText = "123456";Console.WriteLine("要加密的字符串是:{0}", strText);string str1 = myRSA.Encrypt("123456");Console.WriteLine("加密后的字符串:{0}", str1);string str2 = myRSA.Decrypt(str1);Console.WriteLine("解密后的字符串:{0}", str2);
View Code
转载于:https://www.cnblogs.com/ChengWenHao/p/CSharpRSA.html
C# -- RSA加密与解密相关推荐
- javascript rsa java,用javascript与java执行
RSA加密与解密
用javascript与java执行 RSA加密与解密 2009-12-12 14:58:30 出处:https://www.yqdown.com 这几天一直做安全登录,网上查了好多资料,不尽如意 ...
- java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...
前言 在需求开发中,为了安全起见,我们都会难免遇到需要对一些敏感参数进行加密或者解密.所以,今天给大家分享的就是使用jsencrypt对请求参数进行RSA加密与解密,发这篇文章其实主要因为近期我的一位 ...
- GO语言实现RSA 加密和解密的实现
RSA 加密和解密的实现 openssl生成私钥 openssl genrsa -out rsa_private_key.pem 1024 openssl生成公钥 openssl rsa -in rs ...
- 跨语言平台的RSA加密、解密、签名、验证算法的实现
在网上可以找到各种各样的RSA实现代码,原理都是RSA算法的基本原理,但是在处理数据块划分.填充等问题上都是形形色色的,本文旨在探讨.实现遵循RFC 2313 PKCS#1 v1.5标准的一种跨语 ...
- 使用OpenSSL进行RSA加密和解密(非对称)
1. RSA加密和解密基础概念 RSA是一种非对称加密. RSA秘钥:私钥和公钥,一对私钥和公钥就像夫妻一样是唯一的,用私钥加密后必须用对应的公钥才能解密,用公钥加密后必须用对应的私钥才能解密. 加密 ...
- C#实现RSA加密和解密详解
C#实现RSA加密和解密详解 原文:C#实现RSA加密和解密详解 RSA加密解密源码: using System; using System.Collections.Generic; using Sy ...
- python RSA加密、解密、签名
python中用于RSA加解密的库有好久个,本文主要讲解rsa.M2Crypto.Crypto这三个库对于RSA加密.解密.签名.验签的知识点. 知识基础 加密是为了保证传输内容隐私,签名是为了保证消 ...
- 数字签名、证书,RSA加密、解密
文章目录 一.相关知识扫盲篇 数字签名.数字证书 防止证书伪造 之 证书链-Digital Certificates 二.公私钥格式.协议规范 三.golang RSA加密.解密具体实现 `RSA`加 ...
- RSA加密与解密(Java实现)
本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. RSA的应用 RSA是一种非对称加密算法.现在,很多登陆 ...
最新文章
- 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条
- 华为手机截屏怎么截长图_华为手机5种常用截屏方式,教你轻松定格屏幕精彩瞬间...
- SAP License:SAP财务管理的认识
- 华为鸿蒙系统是指芯片吗_没有了芯片,华为能靠鸿蒙OS系统打出差异化吗?
- 在同一窗口和同一选项卡中打开URL
- 【渝粤教育】 广东开放大学 21秋期末考试社会工作综合能力10411k2
- jdbc 4.0连接mysql_使用JDBC连接操作数据库
- tkintergui-pack布局内容1
- 基础学习笔记之opencv(2):haartraining前将统一图片尺寸方法
- 博弈论总结 四大博弈模型 SG函数
- Radius协议简单介绍
- 使用 Tampermonkey 编写高级跨网站自动化任务脚本
- UWB技术的工作原理
- JQuery从入门到实战
- PE结构学习(4)_节的操作
- vb计算机清除菜单代码,用VB编写简单的程序来清空文档菜单 (转)
- (翻译)“用户名或电子邮件地址”字段能降低账号登录锁定
- Java——匿名内部类
- 28.EOS的共识机制与区块生成
- DCMTK、ITK、VTK读取dicom信息
热门文章
- html5 canvas获取坐标,HTML5 canvas坐标
- NOIP模拟测试18「引子·可爱宝贝精灵·相互再归的鹅妈妈」
- [转]xargs详解
- 20165234 《Java程序设计》第五周学习总结
- Spark面对OOM问题的解决方法及优化总结 (转载)
- JS 操作cookie
- python常用类型的内置函数列表
- .Net4.0 Parallel编程(三)Data Parallelism下
- 在卷积层的运用_Conv 卷积层
- matlab imwrite将图像保存到其他目录