1. ///<remarks>
  2. /// DotNet.Utilities.RSACryption cryption = new DotNet.Utilities.RSACryption();
  3. /// cryption.RSAKey_String(out string pubKey, out string priKey);
  4. /// string message = "test";
  5. /// string RSAEncryptMessage = cryption.RSAEncrypt_String(pubKey, message);
  6. /// string res = cryption.RSADecrypt_String(priKey, RSAEncryptMessage);
  7. /// </remarks>
  8. /// <summary>
  9. /// RSA 的密钥产生 产生私钥 和公钥
  10. /// </summary>
  11. /// <param name="publicKey">和公钥</param>
  12. /// <param name="privateKey">私钥</param>
  13. public void RSAKey_String(out string publicKey, out string privateKey)
  14. {
  15. System.Security.Cryptography.RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
  16. byte[] publicKeyBytes = rsa.ExportCspBlob(false);
  17. byte[] privateKeyBytes = rsa.ExportCspBlob(true);
  18. publicKey = Convert.ToBase64String(publicKeyBytes);
  19. privateKey = Convert.ToBase64String(privateKeyBytes);
  20. }
  1. /// <summary>
  2. /// RSA的加密函数 String
  3. /// </summary>
  4. /// <param name="stringPublicKey"></param>
  5. /// <param name="m_strEncryptString"></param>
  6. /// <returns></returns>
  7. public string RSAEncrypt_String(string stringPublicKey, string m_strEncryptString)
  8. {
  9. byte[] PlainTextBArray;
  10. byte[] CypherTextBArray;
  11. string Result;
  12. RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
  13. rsa.ImportCspBlob(Convert.FromBase64String(stringPublicKey));
  14. PlainTextBArray = Encoding.UTF8.GetBytes(m_strEncryptString);
  15. CypherTextBArray = rsa.Encrypt(PlainTextBArray, false);
  16. Result = Convert.ToBase64String(CypherTextBArray);
  17. return Result;
  18. }
  1. /// <summary>
  2. /// RSA的解密函数 String
  3. /// </summary>
  4. /// <param name="stringPrivateKey">base64 string</param>
  5. /// <param name="m_strDecryptString">待解密</param>
  6. /// <returns></returns>
  7. public string RSADecrypt_String(string stringPrivateKey, string m_strDecryptString)
  8. {
  9. byte[] PlainTextBArray;
  10. byte[] DypherTextBArray;
  11. string Result;
  12. System.Security.Cryptography.RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
  13. rsa.ImportCspBlob(Convert.FromBase64String(stringPrivateKey));
  14. PlainTextBArray = Convert.FromBase64String(m_strDecryptString);
  15. DypherTextBArray = rsa.Decrypt(PlainTextBArray, false);
  16. Result = Encoding.UTF8.GetString(DypherTextBArray);
  17. return Result;
  18. }

RSA加密解密,Base64String的更多相关文章

  1. 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输

    Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...

  2. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  3. openssl evp RSA 加密解密

    openssl evp RSA 加密解密 可以直接使用RSA.h 提供的接口 如下测试使用EVP提供的RSA接口 1. EVP提供的RSA 加密解密 主要接口: int EVP_PKEY_encryp ...

  4. C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法

    因为C#的RSA加密解密只有公钥加密,私钥解密,没有私钥加密,公钥解密.在网上查了很久也没有很好的实现.BouncyCastle的文档少之又少.很多人可能会说,C#也是可以的,通过Biginteger ...

  5. Cryptopp iOS 使用 RSA加密解密和签名验证签名

    Cryptopp 是一个c++写的功能完善的密码学工具,类似于openssl 官网:https://www.cryptopp.com 以下主要演示Cryptopp 在iOS上的RSA加密解密签名与验证 ...

  6. C# Java间进行RSA加密解密交互

    原文:C# Java间进行RSA加密解密交互 这里,讲一下RSA算法加解密在C#和Java之间交互的问题,这两天纠结了很久,也看了很多其他人写的文章,颇受裨益,但没能解决我的实际问题,终于,还是被我捣 ...

  7. C# Java间进行RSA加密解密交互(二)

    原文:C# Java间进行RSA加密解密交互(二) 接着前面一篇文章C# Java间进行RSA加密解密交互,继续探讨这个问题. 在前面,虽然已经实现了C# Java间进行RSA加密解密交互,但是还是与 ...

  8. C# Java间进行RSA加密解密交互(三)

    原文:C# Java间进行RSA加密解密交互(三) 接着前面一篇C# Java间进行RSA加密解密交互(二)说吧,在上篇中为了实现 /** * RSA加密 * @param text--待加密的明文 ...

  9. RSA加密解密及数字签名Java实现--转

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院 ...

随机推荐

  1. 小记--------spark的Master主备切换机制原理分析及源码分析

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABfEAAAJwCAYAAAAp7ysfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw

  2. Tomcat: has been normalized to [null] which is not valid

    环境 tomcat 8.5 原因 在使用相对路径加载配置文件时,如果相对路径超出了 tomcat 容器的根目录,那么 tomcat 会提示 xxx has been normalized to [nu ...

  3. 石子合并2——区间DP【洛谷P1880题解】

    [区间dp让人头痛……还是要多写些题目练手,抽空写篇博客总结一下] 这题区间dp入门题,理解区间dp或者练手都很妙 ——题目链接—— (或者直接看下面) 题面 在一个圆形操场的四周摆放N堆石子,现要将 ...

  4. DLL导出函数

    使用DEF文件从DLL导出 模块定义(.def)文件时包含一个或多个描述DLL各种属性的Module语句的文本文件.如果不使用_declspec(dllexport)关键字导出DLL的函数,则DLL需 ...

  5. python — 进程

    目录 1. 进程 1.进程就是一个运行中的程序(是对正在运行程序的一个抽象). 2.程序和进程之间的区别: 程序只是一个文件 进程是这个文件被CPU运行起来了 程序是永久的,进程是暂时的. 3.进程- ...

  6. DVWA reCAPTCHA key: Missing

    修改dvwa文件夹下文件config.inc.php change: $_DVWA[ 'recaptcha_public_key' ] = ' '; $_DVWA[ 'recaptcha_privat ...

  7. THUWC2020游记

    Day0 找了旅馆吃了东西才发现明天要去西郊宾馆,换旅馆?? 清华还安排住宿? asas了. 下午出去和kx&face报PKU的名.然后门卫不让进,老吕开启忽悠模式,然后很快就忽悠过去了.(我 ...

  8. UVA10603Fill题解--BFS

    题目链接 https://cn.vjudge.net/problem/UVA-10603 分析 经典的倒水问题,直接BFS. 对于喜闻乐见的状态判重,一开始想来个哈希函数把一个三元组映射成一个数,后面 ...

  9. STM32F10xxx_Keil中添加的预定义宏

    目录 STM32F10xxx_Keil中添加的预定义宏 更新记录 STM32F10xxx_Keil中添加的预定义宏 更新记录 version status description date autho ...

  10. vue 编译警告 Compiled with 4 warnings

    问题原因: windows下盘符的大小写导致的. 我在cmd里运行的时候,是切换到小写,改成大写的E盘符就没问题了