用C#实现RSA加密的一个小例子
2007-09-28 09:30
447 查看
整个算法的流程是:
接收方先同时生成公钥和私钥, 再把公钥传递给发送方, 发送方收到公钥后, 用此公钥将自己的明文加密, 然后将加密后的密文传递给接收方, 接收方用自己的私钥解密得到明文. 以下是演示这个过程的示例代码:
//待加密的明文
string originText="Hello";
//公钥
string publicKey;
System.Security.Cryptography.RSACryptoServiceProvider rsaReceive =
new System.Security.Cryptography.RSACryptoServiceProvider();
System.Security.Cryptography.RSACryptoServiceProvider rsaSend =
new System.Security.Cryptography.RSACryptoServiceProvider();
//接收方先生成公钥, 并将此公钥公开
//参数false 表示只生成公钥, 如果为true, 则同时生成公钥和私钥.
publicKey = rsaReceive.ToXmlString(false);
//发送方接收公钥, 并用此公钥加密数据
rsaSend.FromXmlString(publicKey);
//发送方执行加密.
//第二个参数指示是否使用OAEP, 如果使用, 则程序必须运行在Windows XP 及以上版本的
//系统中. 无论true 或false, 解密时必须跟加密时的选择相同.
byte[] cryp = rsaSend.Encrypt(System.Text.Encoding.UTF8.GetBytes(originText),false);
//接收方用自己的私钥解密
byte[] b_OriginText = rsaReceive.Decrypt(cryp, false);
接收方先同时生成公钥和私钥, 再把公钥传递给发送方, 发送方收到公钥后, 用此公钥将自己的明文加密, 然后将加密后的密文传递给接收方, 接收方用自己的私钥解密得到明文. 以下是演示这个过程的示例代码:
//待加密的明文
string originText="Hello";
//公钥
string publicKey;
System.Security.Cryptography.RSACryptoServiceProvider rsaReceive =
new System.Security.Cryptography.RSACryptoServiceProvider();
System.Security.Cryptography.RSACryptoServiceProvider rsaSend =
new System.Security.Cryptography.RSACryptoServiceProvider();
//接收方先生成公钥, 并将此公钥公开
//参数false 表示只生成公钥, 如果为true, 则同时生成公钥和私钥.
publicKey = rsaReceive.ToXmlString(false);
//发送方接收公钥, 并用此公钥加密数据
rsaSend.FromXmlString(publicKey);
//发送方执行加密.
//第二个参数指示是否使用OAEP, 如果使用, 则程序必须运行在Windows XP 及以上版本的
//系统中. 无论true 或false, 解密时必须跟加密时的选择相同.
byte[] cryp = rsaSend.Encrypt(System.Text.Encoding.UTF8.GetBytes(originText),false);
//接收方用自己的私钥解密
byte[] b_OriginText = rsaReceive.Decrypt(cryp, false);
相关文章推荐
- 用C#实现RSA加密的一个小例子
- 用C#实现RSA加密的一个小例子
- jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
- Oracle_C# 实现 Oracle Text(全文检索)的一个简单例子
- 使用openssl中的加密函数AES、RC4、RSA对文件加密的一个例子
- C#实现RSA加密解密源码
- C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法
- RSA实现C# 加密详解
- 整合一个基于C#的RSA私钥加密公钥解密的Helper类,含源码
- 转载:C#中RSA加密解密和签名与验证的实现
- C#实现RSA加密与解密、签名与认证
- C#实现RSA加密和解密详解
- C#中RSA加密解密和签名与验证的实现
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- RSA实现C# 加密详解
- c#实现RSA加密解密
- C#实现RSA加密解密
- 一个查找替换文本的例子(C#实现)
- Oracle_C# 实现 Oracle Text(全文检索)的一个简单例子
- 非对称加密RSA的应用及在C#中的实现