Unity RSA

 1     /// <summary>Generates the keys.生成密钥.</summary>
 2     public static void GenerateKeys()
 3     {
 4         RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
 5         var privateKey = rsa.ToXmlString(true);
 6         var publicKey = rsa.ToXmlString(false);
 7 
 8         var path = Application.streamingAssetsPath;
 9         File.WriteAllText(path + "/privateKey.xml", privateKey);
10         File.WriteAllText(path + "/publicKey.xml", publicKey);
11     }
 1 /// <summary>RSAs the encrypt.RSA加密.</summary>
 2     /// <param name="publickey">The publickey.</param>
 3     /// <param name="data">The data.</param>
 4     /// <returns></returns>
 5     public static byte[] RSAEncrypt(string publickey, byte[] data)
 6     {
 7         RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
 8         rsa.FromXmlString(publickey);
 9         var bytes = rsa.Encrypt(data, false);
10         return bytes;
11     }
12 
13     /// <summary>RSAs the decrypt.RSA解密.</summary>
14     /// <param name="privatekey">The privatekey.</param>
15     /// <param name="data">The data.</param>
16     /// <returns></returns>
17     public static byte[] RSADecrypt(string privatekey, byte[] data)
18     {
19         RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
20         rsa.FromXmlString(privatekey);
21         var bytes = rsa.Decrypt(data, false);
22         return bytes;
23     }

 

posted @ 2016-01-12 16:35  KimCh  阅读(586)  评论(0)    收藏  举报