public static byte[] RijndaelEncrypt(RijndaelParameters keys, byte[] data) { if (data == null) throw new ArgumentNullException("data"); RijndaelManaged rijndael = keys.Export(); MemoryStream memoryStream = new MemoryStream(Constants.MaximumCommandLength); CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndael.CreateEncryptor(), CryptoStreamMode.Write); cryptoStream.Write(data, 0, data.Length); cryptoStream.FlushFinalBlock(); byte[] encryptedData = memoryStream.ToArray(); cryptoStream.Close(); rijndael.Clear(); return encryptedData; }
public static byte[] RijndaelDecrypt(RijndaelParameters keys, byte[] encryptedData) { if (encryptedData == null) throw new ArgumentNullException("encryptedData"); RijndaelManaged rijndael = keys.Export(); MemoryStream memoryStream = new MemoryStream(encryptedData); CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndael.CreateDecryptor(), CryptoStreamMode.Read); byte[] decryptedData = new byte[encryptedData.Length]; cryptoStream.Read(decryptedData, 0, decryptedData.Length); cryptoStream.Close(); rijndael.Clear(); return decryptedData; }