RSA非对称加密代码
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; }
请到我的文件中下载程序全部代码。