您的位置:首页 > 其它

对输入的字符串进行RSA加密和解密处理

2006-06-16 16:23 645 查看

public static string RSAEncrypt ( string EncryptToData, string XmlPublicKey )




...{


try




...{


RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();


byte[] DataToEncrypt = (new UnicodeEncoding()).GetBytes(EncryptToData);


rsa.FromXmlString(XmlPublicKey);//导入包含公钥信息的XML字符串


byte[] result = rsa.Encrypt(DataToEncrypt, false);//加密字符串


return System.Convert.ToBase64String(result);


}


catch(CryptographicException e)




...{


Console.WriteLine(e.ToString());


return null;


}


catch (ArgumentNullException e)




...{


Console.WriteLine(e.ToString());


return null;


}


}






/**//// <summary>


/// 对加密数据进行解密


/// </summary>


/// <param name="DecryptToData">要解密的字符串</param>


/// <param name="XmlPrivateKey">解密私钥</param>


/// <return>返回解密后的原文</return>


public static string RSADecrypt ( string DecryptToData, string XmlPrivateKey )




...{


try




...{


RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();


byte[] DataToDecrypt = System.Convert.FromBase64String(DecryptToData);


rsa.FromXmlString(XmlPrivateKey);//导入包含私钥信息的XML字符串


byte[] result = rsa.Decrypt(DataToDecrypt, false);//解密字符串


return (new UnicodeEncoding()).GetString(result);


}


catch(CryptographicException e)




...{


Console.WriteLine(e.ToString());


return null;


}


catch (ArgumentNullException e)




...{


Console.WriteLine(e.ToString());


return null;


}


catch (FormatException e)




...{


Console.WriteLine(e.ToString());


return null;


}


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