//声明个类变量
CspParameters param;
/// <summary>
/// 加密
/// </summary>
/// <param name="msg">需加密的字符串</param>
/// <returns>加密后的字符串</returns>
private string Encode(string msg)
{
param = new CspParameters();
param.KeyContainerName = "Olive";//密匙容器的名称,保持加密解密一致才能解密成功
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
{
byte[] plaindata = Encoding.Default.GetBytes(msg);//将要加密的字符串转换为字节数组
byte[] encryptdata = rsa.Encrypt(plaindata, false);//将加密后的字节数据转换为新的加密字节数组
return Convert.ToBase64String(encryptdata);//将加密后的字节数组转换为字符串
}
}
/// <summary>
/// 解密
/// </summary>
/// <param name="msg">需解密的字符串</param>
/// <returns>解密后的字符串</returns>
private string Decode(string msg)
{
param = new CspParameters();
param.KeyContainerName = "Olive";
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
{
byte[] encryptdata = Convert.FromBase64String(msg);
byte[] decryptdata = rsa.Decrypt(encryptdata, false);
return Encoding.Default.GetString(decryptdata);
}
}