///<summary>Runs a byte array through an ICryptoTransform.</summary> ///<param name="transform">The transform to run the data through. This parameter will be disposed.</param> ///<param name="data">The data to transform.</param> ///<returns>The transformed data.</returns> public static byte[] TransformBytes(this ICryptoTransform transform, byte[] data) { using (transform) using (var stream = new MemoryStream(data.Length)) using (var cryptoStream = new CryptoStream(stream, transform, CryptoStreamMode.Write)) { cryptoStream.WriteAllBytes(data); cryptoStream.FlushFinalBlock(); return(stream.ToArray()); } }