Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            int   alg, opt, n = 0;
            Crypt C = null;

            // meniu pentru alegerea algoritmului de criptare
            do
            {
                Console.WriteLine("Alegeti algoritmul: ");
                Console.WriteLine("1. Cezar ");
                Console.WriteLine("2. PlusN ");
                Console.WriteLine("3. Monoalfabetica ");
                Console.WriteLine("4. Polialfabetica ");

                alg = Convert.ToInt32(Console.ReadLine());

                if (alg == 2 || alg == 4)
                {
                    Console.WriteLine("Introduceti numarul cheie: ");
                    n = Convert.ToInt32(Console.ReadLine());
                }

                switch (alg)
                {
                case 1: C = new Cezar(); break;

                case 2: C = new PlusN(n); break;

                case 3: C = new Monoalfabetica(); break;

                case 4: C = new Vigenere(n); break;
                }
            } while (alg <= 0 || alg > 4);


            // meniu pentru lucrarea cu algoritmul alesa
            Console.WriteLine("Alegeti optiunea: ");
            Console.WriteLine("1. Encriptare ");
            Console.WriteLine("2. Decriptare ");
            Console.WriteLine("3. Criptoanaliza ");

            opt = Convert.ToInt32(Console.ReadLine());

            string text = null, filepath = @"";

            if (opt == 1)
            {
                text = Fisier.Citire(filepath + "text_clar.txt");
            }
            else if (opt == 2 || opt == 3)
            {
                text = Fisier.Citire(filepath + "text_criptat.txt");
            }

            switch (opt)
            {
            case 1: text = C.Encriptare(text); break;

            case 2: text = C.Decriptare(text); break;

            case 3: text = C.Criptoanaliza(text); break;

            default: Console.WriteLine("Optiune introdusa gresita!"); break;
            }

            if (opt == 1)
            {
                Fisier.Scriere(filepath + "text_criptat.txt", text);
            }
            else if (opt == 2 || opt == 3)
            {
                Fisier.Scriere(filepath + "text_clar.txt", text);
            }
        }