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