Шифрование (криптография) по алгоритму "трафарет Ришелье" - C#

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

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

Как реализовать шифрование(алгоритм - трафарет Ришелье)?

Решение задачи: «Шифрование (криптография) по алгоритму "трафарет Ришелье"»

textual
Листинг программы
  1.         static IEnumerable<string> Swap(string text, string key)
  2.         {
  3.             var letters = text.Replace(" ", "").ToCharArray();
  4.             var swaps = key.Split(new char[] { '(', ')' }, StringSplitOptions.RemoveEmptyEntries);
  5.             int curPos = 0;
  6.             for(int i = 0; i < swaps.Length; i++)
  7.             {
  8.                 var Encrypted = letters.Skip(curPos).Take(swaps[i].Length).ToArray()
  9.                     .Zip(swaps[i],(a,b) => new { letter = a, index = b})
  10.                     .OrderBy(x=>x.index).Select(x=>x.letter).ToArray();
  11.                 curPos += swaps[i].Length;
  12.                 yield return new string(Encrypted);
  13.             }
  14.         }
  15.         static void Main(string[] args)
  16.         {
  17.             var text = "шифр ришелье";
  18.             var key = "(231)(4132)(3142)";
  19.             Console.WriteLine(string.Join(" ",Swap(text,key)));
  20.         }

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


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

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

8   голосов , оценка 4.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы