Шифрование (криптография) по алгоритму "трафарет Ришелье" - C#
Формулировка задачи:
Как реализовать шифрование(алгоритм - трафарет Ришелье)?
Решение задачи: «Шифрование (криптография) по алгоритму "трафарет Ришелье"»
textual
Листинг программы
- static IEnumerable<string> Swap(string text, string key)
- {
- var letters = text.Replace(" ", "").ToCharArray();
- var swaps = key.Split(new char[] { '(', ')' }, StringSplitOptions.RemoveEmptyEntries);
- int curPos = 0;
- for(int i = 0; i < swaps.Length; i++)
- {
- var Encrypted = letters.Skip(curPos).Take(swaps[i].Length).ToArray()
- .Zip(swaps[i],(a,b) => new { letter = a, index = b})
- .OrderBy(x=>x.index).Select(x=>x.letter).ToArray();
- curPos += swaps[i].Length;
- yield return new string(Encrypted);
- }
- }
- static void Main(string[] args)
- {
- var text = "шифр ришелье";
- var key = "(231)(4132)(3142)";
- Console.WriteLine(string.Join(" ",Swap(text,key)));
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д