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加密与解密相关推荐

  1. javascript rsa java,用javascript与java执行 RSA加密与解密

    用javascript与java执行 RSA加密与解密 2009-12-12 14:58:30   出处:https://www.yqdown.com 这几天一直做安全登录,网上查了好多资料,不尽如意 ...

  2. java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...

    前言 在需求开发中,为了安全起见,我们都会难免遇到需要对一些敏感参数进行加密或者解密.所以,今天给大家分享的就是使用jsencrypt对请求参数进行RSA加密与解密,发这篇文章其实主要因为近期我的一位 ...

  3. GO语言实现RSA 加密和解密的实现

    RSA 加密和解密的实现 openssl生成私钥 openssl genrsa -out rsa_private_key.pem 1024 openssl生成公钥 openssl rsa -in rs ...

  4. 跨语言平台的RSA加密、解密、签名、验证算法的实现

      在网上可以找到各种各样的RSA实现代码,原理都是RSA算法的基本原理,但是在处理数据块划分.填充等问题上都是形形色色的,本文旨在探讨.实现遵循RFC 2313 PKCS#1 v1.5标准的一种跨语 ...

  5. 使用OpenSSL进行RSA加密和解密(非对称)

    1. RSA加密和解密基础概念 RSA是一种非对称加密. RSA秘钥:私钥和公钥,一对私钥和公钥就像夫妻一样是唯一的,用私钥加密后必须用对应的公钥才能解密,用公钥加密后必须用对应的私钥才能解密. 加密 ...

  6. C#实现RSA加密和解密详解

    C#实现RSA加密和解密详解 原文:C#实现RSA加密和解密详解 RSA加密解密源码: using System; using System.Collections.Generic; using Sy ...

  7. python RSA加密、解密、签名

    python中用于RSA加解密的库有好久个,本文主要讲解rsa.M2Crypto.Crypto这三个库对于RSA加密.解密.签名.验签的知识点. 知识基础 加密是为了保证传输内容隐私,签名是为了保证消 ...

  8. 数字签名、证书,RSA加密、解密

    文章目录 一.相关知识扫盲篇 数字签名.数字证书 防止证书伪造 之 证书链-Digital Certificates 二.公私钥格式.协议规范 三.golang RSA加密.解密具体实现 `RSA`加 ...

  9. RSA加密与解密(Java实现)

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人允许禁止转载. RSA的应用 RSA是一种非对称加密算法.现在,很多登陆 ...

最新文章

  1. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条
  2. 华为手机截屏怎么截长图_华为手机5种常用截屏方式,教你轻松定格屏幕精彩瞬间...
  3. SAP License:SAP财务管理的认识
  4. 华为鸿蒙系统是指芯片吗_没有了芯片,华为能靠鸿蒙OS系统打出差异化吗?
  5. 在同一窗口和同一选项卡中打开URL
  6. 【渝粤教育】 广东开放大学 21秋期末考试社会工作综合能力10411k2
  7. jdbc 4.0连接mysql_使用JDBC连接操作数据库
  8. tkintergui-pack布局内容1
  9. 基础学习笔记之opencv(2):haartraining前将统一图片尺寸方法
  10. 博弈论总结 四大博弈模型 SG函数
  11. Radius协议简单介绍
  12. 使用 Tampermonkey 编写高级跨网站自动化任务脚本
  13. UWB技术的工作原理
  14. JQuery从入门到实战
  15. PE结构学习(4)_节的操作
  16. vb计算机清除菜单代码,用VB编写简单的程序来清空文档菜单 (转)
  17. (翻译)“用户名或电子邮件地址”字段能降低账号登录锁定
  18. Java——匿名内部类
  19. 28.EOS的共识机制与区块生成
  20. DCMTK、ITK、VTK读取dicom信息

热门文章

  1. html5 canvas获取坐标,HTML5 canvas坐标
  2. NOIP模拟测试18「引子·可爱宝贝精灵·相互再归的鹅妈妈」
  3. [转]xargs详解
  4. 20165234 《Java程序设计》第五周学习总结
  5. Spark面对OOM问题的解决方法及优化总结 (转载)
  6. JS 操作cookie
  7. python常用类型的内置函数列表
  8. .Net4.0 Parallel编程(三)Data Parallelism下
  9. 在卷积层的运用_Conv 卷积层
  10. matlab imwrite将图像保存到其他目录