Шифры перестановки - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д