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; } }