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

Encrypt128ByteSecure() public static method

Encrypts the specified data using a 128-bit cipher. The key can be any length.
public static Encrypt128ByteSecure ( System Data, byte Key ) : byte[]
Data System The data to be encrypted. Must be UTF8.
Key byte The key used to encrypt the data.
return byte[]
        public static byte[] Encrypt128ByteSecure(System.Security.SecureString Data, byte[] Key)
        {
            AesCryptoServiceProvider AES = null;
            var MS = new MemoryStream();
            CryptoStream CS = 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);

                byte[] D = System.Text.Encoding.UTF8.GetBytes(ConvertToUnsecureString(Data));
                CS.Write(D, 0, D.Length);
                CS.FlushFinalBlock();

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