using System; using System.IO; using System.Text; class Program { static void Main(string[] args) { Console.WriteLine("Выберите вариант:"); Console.WriteLine("1. Зашифровать текст из файла .txt в Base64"); Console.WriteLine("2. Расшифровать текст из файла .txt из Base64"); string choice = Console.ReadLine(); if (choice == "1") { Console.WriteLine("Введите путь к файлу для шифрования (например, C:\\путь\\к\\файлу.txt):"); string inputFilePath = Console.ReadLine(); if (File.Exists(inputFilePath) && Path.GetExtension(inputFilePath).Equals(".txt", StringComparison.OrdinalIgnoreCase)) { try { string inputText = File.ReadAllText(inputFilePath, Encoding.UTF8); string encryptedText = Convert.ToBase64String(Encoding.UTF8.GetBytes(inputText)); // Запрос пути для сохранения результата Console.WriteLine("Введите путь для сохранения результата (например, C:\\путь\\к\\выходному_файлу.txt):"); string outputFilePath = Console.ReadLine(); SaveToFile(outputFilePath, encryptedText); } catch (Exception ex) { Console.WriteLine("Ошибка при чтении файла: " + ex.Message); } } else { Console.WriteLine("Ошибка: Файл не найден или не является файлом .txt."); } } else if (choice == "2") { Console.WriteLine("Введите путь к файлу для расшифровки (например, C:\\путь\\к\\файлу.txt):"); string inputFilePath = Console.ReadLine(); if (File.Exists(inputFilePath) && Path.GetExtension(inputFilePath).Equals(".txt", StringComparison.OrdinalIgnoreCase)) { try { string base64Text = File.ReadAllText(inputFilePath, Encoding.UTF8); byte[] decodedBytes = Convert.FromBase64String(base64Text); string decryptedText = Encoding.UTF8.GetString(decodedBytes); // Запрос пути для сохранения результата Console.WriteLine("Введите путь для сохранения результата (например, C:\\путь\\к\\выходному_файлу.txt):"); string outputFilePath = Console.ReadLine(); SaveToFile(outputFilePath, decryptedText); } catch (FormatException) { Console.WriteLine("Ошибка: Неверный формат Base64 в файле."); } catch (Exception ex) { Console.WriteLine("Ошибка при чтении файла: " + ex.Message); } } else { Console.WriteLine("Ошибка: Файл не найден или не является файлом .txt."); } } else { Console.WriteLine("Некорректный выбор. Пожалуйста, выберите 1 или 2."); } } static void SaveToFile(string filePath, string content) { try { File.WriteAllText(filePath, content, Encoding.UTF8); Console.WriteLine("Действие завершено. Результат успешно сохранен в файл: " + filePath); } catch (Exception ex) { Console.WriteLine("Ошибка при сохранении файла: " + ex.Message); } } }