转自:https://www.cnblogs.com/micenote/p/7862989.html

C#中用RSA算法生成公钥和私钥

方法一:

公钥密钥生成后,保存在同名文件夹下面,如下图:

公钥密钥生成,所在路径【RSA\RSA\bin\Debug】

using System;
using System.IO;
using System.Security.Cryptography;//必须引用namespace RSA
{class Program{static void Main(string[] args){RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();using (StreamWriter writer = new StreamWriter("PrivateKey.xml"))  //这个文件要保密...{writer.WriteLine(rsa.ToXmlString(true));}using (StreamWriter writer = new StreamWriter("PublicKey.xml")){writer.WriteLine(rsa.ToXmlString(false));}}}
}

方法二:

    public static void GKEY()//(计算机)生成密钥 GKEY(generate key),generate the RSA public and private keys{using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()){string publicKey = rsa.ToXmlString(false); // 公钥string privateKey = rsa.ToXmlString(true); // 私钥}}

直接断点调式复制公钥密钥出来用

RSA加密解密类

#region RSA/// <summary>/// RSA加密/// </summary>/// <param name="publickey"></param>/// <param name="content"></param>/// <returns></returns>public static string RSAEncrypt(string publickey, string content){publickey = @"<RSAKeyValue><Modulus>0wE26IHp4U9OLtPhJ+fT8ej6aWORFP8pd++MjUuhkQQm/zhcImbxQbjxtSAftz+kkDwGDFJpSldQPyigOGcUx7PofTc6VhiFik9E9SsxV9n0iEEtqUndDfmBJfPAWt+4UDMwKakgZqFoapDuwjKlTErFvKCyKCs+qN9OZvZwKWk=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();byte[] cipherbytes;rsa.FromXmlString(publickey);cipherbytes = rsa.Encrypt(Encoding.UTF8.GetBytes(content), false);return Convert.ToBase64String(cipherbytes);}/// <summary>/// RSA解密/// </summary>/// <param name="privatekey"></param>/// <param name="content"></param>/// <returns></returns>public static string RSADecrypt(string privatekey, string content){privatekey = @"<RSAKeyValue><Modulus>0wE26IHp4U9OLtPhJ+fT8ej6aWORFP8pd++MjUuhkQQm/zhcImbxQbjxtSAftz+kkDwGDFJpSldQPyigOGcUx7PofTc6VhiFik9E9SsxV9n0iEEtqUndDfmBJfPAWt+4UDMwKakgZqFoapDuwjKlTErFvKCyKCs+qN9OZvZwKWk=</Modulus><Exponent>AQAB</Exponent><P>8Ei6NIsZtgV3DQjuGHfGLS6o1O+IUXxzjqLxdMm77yhEPUxR9YPIxODJ2VVTddXSAHxViJJt30yJ7JhVz6cpQw==</P><Q>4M49NrmalgVQFMsea2RMB1qN8fAPfIw5G9q9hzsLcWSCmkeRRIQlvPYflVEKAYKiDVVzENETbnnduFXWBABx4w==</Q><DP>t+JQbemN0Zi5FQaif6MZzHYKynpNTl75aE0Wj5Pa+RlNr8N6bXNe8Bw/HM2Jw4HQ5oJASvYUk3DVlHS4JuP8VQ==</DP><DQ>lT62iv9brp9mU/epgVh71SH8PJPIZEJfo6tryjyb0zMMNcqvmZI1z6aCv0mm3+vPFBUXqCF1yhFj7n4l8FAvSw==</DQ><InverseQ>flrvgxHvf4l+fdymEVDgKjsfGqshOpppoNgZj9kpeWBto3o8z++Ki6eSLQT3nVnpx2QCZeTWkxTED4nhSLKscw==</InverseQ><D>cQTCg1Eqk7sltmFYxUYgOP/AOPjSufteG9acYwYymPkvZh6rAuY+rSRBmvGE62NUYskzuB/gM6iG2/2HrA5SixfNgCvZ+nsK+kX5pzQRsYdD71ViQW0hOanXwj45I2zHRgBiuTtCUP0fs5pISmQkaeJkDL5pO2l+wvlgl+wunj0=</D></RSAKeyValue>";RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();byte[] cipherbytes;rsa.FromXmlString(privatekey);cipherbytes = rsa.Decrypt(Convert.FromBase64String(content), false);return Encoding.UTF8.GetString(cipherbytes);}#endregion

C#中用RSA算法生成公钥和私钥相关推荐

  1. RSA生成公钥与私钥

    首先需要安装 rsa : pip install rsa 生成公钥与私钥代码如下: import rsa # Create your tests here.#生成公钥和私钥 public_key, p ...

  2. windows使用openssl生成公钥和私钥

    本文首先简单介绍一下openssl.接着描述如何在windows环境下简单使用openssl,并生成公钥和私钥.最后介绍使用了RSA非对称加密传输应用实例的微信小程序:密码盾. 一.openssl简介 ...

  3. Git简单生成生成公钥和私钥方法

    Git配置 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" git conf ...

  4. Git生成生成公钥和私钥

    Git配置 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" git conf ...

  5. Git简单生成公钥和私钥的方法及git ssh key配置

    Git简单生成公钥和私钥的方法 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" ...

  6. ssh生成公钥、私钥

    1.打开 git bash 或 命令行窗口 执行生成公钥和私钥的命令,并按三下回车 ssh-keygen -t ras 结果如下图: 2.查看生成的公钥和私钥 打开下图中 .pub文件即可得到公钥,复 ...

  7. web3j java版本生成公钥、私钥、地址等实例

    使用java版本的web3j生成公私钥等信息 web3j的java版本支持直接通过java代码生成以太坊钱包的公私钥地址等信息,生成的地址信息存放于本地文件当中.同时,提供了针对该文件的读取等操作. ...

  8. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用

    RSA算法 token生成与解析 本文演示两种方式,一种是把密钥文件放在配置文件中,一种是把密钥文件本身放入项目或者容器中. 下面两种的区别在于私钥公钥的初始化, init方法,需要哪种取哪种. 通过 ...

  9. iOS安全之RSA加密/生成公钥、秘钥 pem文件

    在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...

最新文章

  1. LeetCode 笔记系列 18 Maximal Rectangle [学以致用](最大矩形)
  2. 硬核!我的导师手写129页毕业论文,堪比打印!
  3. AcWing 2983. 玩具 / POJ 2318.toys(计算几何基础、二分、判断点和直线的位置关系)
  4. Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)
  5. 利用SecureCRT在linux与Windows之间传输文件
  6. Power BI Desktop 10月更新
  7. cocos2dx游戏开发——捕鱼达人mini版学习笔记(一)——FishAchor的搭建
  8. c# 从sql 数据库生成 excel (转)
  9. 对自己深度学习方向的论文有idea,可是工程实践能力跟不上,实验搞不定怎么办?...
  10. redhat rhel 7中如何切换中英文输入法。
  11. 他山之石 可以攻玉-《海量数据库解决方案》
  12. 变电所、分区所、AT所
  13. ORA-01033问题解决
  14. PHP_CodeSniffer的下载和使用
  15. greenDao的使用教程
  16. jeecg ajax验证,jeecg权限模块学习
  17. SELECT command denied to user ‘‘@‘%‘ for column ‘c_code‘ in table ‘sys_data_dictionary‘
  18. 速知!二级建造师你满足报考要求吗?
  19. Java泛型方法与普通成员方法以及案例说明(五)
  20. aabbcc本质不同的排列数

热门文章

  1. presentViewController: 如何不覆盖原先的 viewController界面
  2. DNS递归和迭代查询
  3. Java项目:基于SSM的疫情物业系统
  4. Hive的nvl、coalesce、if、nvl2
  5. C++学习——g++对成员函数的undefined reference 未定义引用,但只有在编译release时才会出现。
  6. MySQL-限制结果-LIMIT(limit)
  7. 数据库MySQL经典面试题之SQL语句
  8. 国产充电宝有哪些,国产充电宝哪个牌子的质量好?
  9. JS去除字符串中间多余空格
  10. 凸优化笔记6(共轭梯度法)