System.Utilities.Cryptography.Encryption.Encrypt128Stream C# (CSharp) Method

Encrypt128Stream() public static method

Encrypts the specified data using a 128-bit cipher. The key can be any length.
public static Encrypt128Stream ( Stream Data, byte Key ) : Stream
Data Stream The data to be encrypted.
Key byte The key used to encrypt the data.
return Stream
        public static Stream Encrypt128Stream(Stream Data, byte[] Key)
        {
            AesCryptoServiceProvider AES = null;
            var MS = new MemoryStream();
            CryptoStream CS = null;
            BinaryReader DR = null;
            try
            {
                //Get the IV and length corrected Key.
                KeyData KeyData = GenerateKeyIV128(Key);
                //Create the AES crytpograhy object.
                AES = new AesCryptoServiceProvider { BlockSize = 128, KeySize = 128, Key = KeyData.Key, IV = KeyData.IV, Mode = CipherMode.CBC, Padding = PaddingMode.PKCS7 };
                CS = new CryptoStream(MS, AES.CreateEncryptor(), CryptoStreamMode.Write);

                DR = new BinaryReader(Data);
                var D = new byte[DR.BaseStream.Length];
                DR.Read(D, 0, (int)DR.BaseStream.Length - 1);
                CS.Write(D, 0, D.Length);
                CS.FlushFinalBlock();

                return MS;
            }
            finally
            {
                if (AES != null) AES.Clear();
                if (CS != null) CS.Dispose();
                MS.Dispose();
                if (DR != null) DR.Close();
            }
        }

Same methods

Encryption::Encrypt128Stream ( byte Data, byte Key ) : Stream
Encryption::Encrypt128Stream ( string Data, byte Key ) : Stream