Beispiel #1
0
 static void Cipher()
 {
     CipherText = new StringBuilder();
     foreach (var next in CipherOrder)
     {
         int n = int.Parse(next);
         n--;
         for (int i = 0; i < CharMatrix.GetLength(0); i++)
         {
             CipherText.Append(CharMatrix[i, n]);
         }
     }
 }
Beispiel #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("podaj sciezke do pliku, ktory ma zostac zaszyfrowany");
            var path = Console.ReadLine();

            using (StreamReader sr = new StreamReader(path))
            {
                PlainText = sr.ReadToEnd();
            }


            Console.WriteLine("podaj ilosc kolumn macierzy");
            int columns = int.Parse(Console.ReadLine());

            CreateCharMatrix(columns);

            bool correctOrder;

            do
            {
                Console.WriteLine("podaj kolejnosc kolumn, numery kolumn powinny oddzielone '-', np. 3-1-2");
                SetColumnOrder(Console.ReadLine());
                correctOrder = CipherOrder.Length != CharMatrix.GetLength(1);
                if (correctOrder)
                {
                    Console.WriteLine("ilosc kolumn podana w kolejnosci nie zgadza sie z rozmiarem macierzy");
                }
            } while (correctOrder);

            Cipher();
            Console.WriteLine(CipherText);

            Console.WriteLine("czy zapisac szyfr do pliku? (y/n)");
            var write = Console.ReadLine();

            if (write == "y")
            {
                System.IO.StreamWriter file = new System.IO.StreamWriter(path, true);
                file.WriteLine(Environment.NewLine + "wiadomosc zaszyfrowana: " + Environment.NewLine + CipherText);

                file.Close();
            }
        }