AesEncrypter.Program.PerformEncrypt C# (CSharp) Method

PerformEncrypt() private static method

private static PerformEncrypt ( CommandLineParameters parameters, EncryptionManager encryptionManager, System stream ) : void
parameters CommandLineParameters
encryptionManager EncryptionManager
stream System
return void
        private static void PerformEncrypt(CommandLineParameters parameters, EncryptionManager encryptionManager, System.IO.FileStream stream)
        {
            var unencrypted = new byte[stream.Length];
            stream.Read(unencrypted, 0, unencrypted.Length);
            if(parameters.IsVerbose)
            {
                Console.WriteLine($"Encrypting {stream.Length} bytes");
            }
            var encryptedBytes = encryptionManager.EncryptToBytes(unencrypted);

            if(System.IO.File.Exists(parameters.Destination))
            {
                if (parameters.IsVerbose)
                {
                    Console.WriteLine($"Deleting {parameters.Destination}");
                }
                System.IO.File.Delete(parameters.Destination);
            }

            using (var writeStream = System.IO.File.OpenWrite(parameters.Destination))
            {
                writeStream.Write(encryptedBytes, 0, encryptedBytes.Length);
                if (parameters.IsVerbose)
                {
                    Console.WriteLine($"Encrypted {encryptedBytes.Length} bytes");
                }
            }
        }