Шифры перестановки - C#

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

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

шифр, преобразования из которого изменяют только порядок следования символов исходного тексто, но не изменяет их самих, называется шифром перестановки (ШП). Суть методов перестановки состоит в том, что входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов. Искал в форумах, там было сказано о методе перетасовки Фишера-Йейтса. Но использовать не смог. Например: (Вывод программы на экран) Исходный текст: Информатика Зашифрованный текст: рмтфкиоанаИ Расшифрованный текст: Информатика Ключ: 5 6 8 3 10 9 4 7 2 11 1

Решение задачи: «Шифры перестановки»

textual
Листинг программы
        public static void Main (string[] args)
        {
            string key = "5 6 8 3 10 9 4 7 2 11 1";
            string text = "рмтфкиоанаИ";
 
            Console.WriteLine (Decode (text, key));
 
            Console.ReadKey ();
        }
 
        public static string Decode(string input, string keyStr)
        {
            if (String.IsNullOrEmpty (keyStr)) 
            {
                throw new ArgumentNullException ();
            }
            if (String.IsNullOrEmpty (input)) 
            {
                throw new ArgumentNullException ();
            }
 
            int[] key = keyStr.Split().Select(x => Int32.Parse(x)).ToArray();
            char[] encodeStr = new char[input.Length];
 
            if (key.Length != input.Length) 
            {
                throw new ArgumentException ();
            }
 
            for (int i = 0; i < key.Length; i++) 
            {
                encodeStr [key [i] - 1] = input [i];
            }
 
            return new String (encodeStr);
        }

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


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

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

6   голосов , оценка 3.667 из 5