示例#1
0
        static void Main(string[] args)
        {
            string path = Environment.CurrentDirectory;

            Console.WriteLine($"Current path is: {path}");
            Console.WriteLine("Enter relative file path (with preceeding \\): ");
            path += Console.ReadLine();

            Console.Write("Encode or decode? (e/d): ");
            char userInputED = Console.ReadKey().KeyChar;

            Console.WriteLine();
            Console.Write("Small or large file? (s/l): ");
            char userInputSL = Console.ReadKey().KeyChar;

            Console.WriteLine();
            Console.Write("Specify offset count: ");

            int offset = 1;

            int.TryParse(Console.ReadLine(), out offset);

            Console.WriteLine("Working...");
            try
            {
                if (userInputED == 'e' && userInputSL == 's')
                {
                    FileEncoder.EncryptFileStandard(path, (byte)offset);
                }
                else if (userInputED == 'd' && userInputSL == 's')
                {
                    FileEncoder.DecryptFileStandard(path, (byte)offset);
                }
                else if (userInputED == 'e' && userInputSL == 'l')
                {
                    FileEncoder.EncryptFileStream(path, (byte)offset);
                }
                else if (userInputED == 'd' && userInputSL == 'l')
                {
                    FileEncoder.DecryptFileStream(path, (byte)offset);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("File read/write failed. Please ensure you have a correct path and appropriate permissions.");
                Console.ReadKey();
            }
            Console.WriteLine("Program Finished");
            Console.ReadKey();
        }