您的位置:首页 > 编程语言

RSA非对称加密代码

2013-02-28 15:07 375 查看

1. 创建一个CspParameters类的新实例,并传递您要呼叫的密钥容器名称到CspParameters.KeyContainerName域。
2. 创建一个新的RSACryptoServiceProvider实例,并传递CsParameter到它的构造器.
3. 创建字节数组来保存原始,加密和解密数据.
4. 通过字节数组的数据加密方法和加密字节数组得到的结果.
5. 这个字节数组数据转换为其等效的字符串,通过使用Convert.ToBase64String显示在多行文本框中.

加密算法:

/// <summary>
/// 解密文本
/// </summary>
/// <param name="plaintext"></param>
public static string RSAEncryption(string strKeyContainerName, string plaintext)
{
CspParameters param = new CspParameters();
param.KeyContainerName = strKeyContainerName;
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
{
byte[] plaindata = System.Text.Encoding.Default.GetBytes(plaintext);
byte[] encryptdata = rsa.Encrypt(plaindata, false);
string encryptstring = Convert.ToBase64String(encryptdata);
return encryptstring;
}
return string.Empty;
}

解密算法:

/// <summary>
/// 解密文本
/// </summary>
/// <param name="strKeyContainerName"></param>
/// <param name="encryptData"></param>
public static string RSADecryption(string strKeyContainerName,string encryptData)
{
CspParameters param = new CspParameters();
param.KeyContainerName = strKeyContainerName;
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
{
byte[] encryptdata = Convert.FromBase64String(encryptData);
byte[] decryptdata = rsa.Decrypt(encryptdata, false);
string plaindata = System.Text.Encoding.Default.GetString(decryptdata);
return plaindata;
}
return string.Empty;
}

 请到我的文件中下载程序全部代码。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: