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 }