Нужна помощь в реализации шифрования методом Плейфера - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите как написать программу на C# методом Плейфера? Правило: 1. если символы находятся в одной строке, то каждый из символов пары заменяется на стоящий правее его (за последним символом в строке следует первый символ той же строки); 2. если символы находятся в одном столбце, то каждый символ пары заменяется на символ, расположенный ниже его в столбце (за последним нижним символом следует верхний символ в том же столбце); 3. если символы пары находятся в разных строках и столбцах, то они считаются противоположными углами прямоугольника. Символ, находящийся в левом углу, заменяется на символ, стоящий в другом левом углу; замена символа, находящегося в правом углу, осуществляется аналогично; 4. если в открытом тексте встречаются два одинаковых символа подряд, то перед шифрованием между ними вставляется специальный символ (например, тире). Разработайте программу, выполняющую шифрование и расшифрование данных методом Плейфера. Программа должна выполнять шифрование данных (текстовых) вводимых пользователем.

Решение задачи: «Нужна помощь в реализации шифрования методом Плейфера»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class PlayFair
    {
        static void Main(string[] args)
        {
            try
            {
                PlayFairSettings ps = new PlayFairRu56();
                PlayFair pf = new PlayFair(ps, "Шифр Плейфера");
                Console.WriteLine(pf);
 
                string Text = "Текст который нужно зашифровать шифром Плейферах";
                Console.WriteLine("Исходный текст\r\n" + Text);
 
                int i = 0;
                foreach (char c in pf.Bigrams(Text))
                {
                    Console.Write(c);
 
                    i++;
                    if (i % 2 == 0) Console.Write(' ');
                    if (i % 10 == 0) Console.WriteLine();
                }
 
                Text = pf.Crypt(Text, true);
                Console.WriteLine("\r\nЗашифрованный текст\r\n" + Text);
 
                Text = pf.Crypt(Text, false);
                Console.WriteLine("\r\nРасшифрованный текст\r\n" + Text);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы