Реализовать шифрование на основе пользовательского алфавита - C#
Формулировка задачи:
Напишите подпрограммы Encode (зашифровать) и Decode (расшифровать), которые получают два параметра str и alpha типа string. В первом параметре задается слово, подлежащее шифрованию (расшифровке), второй представляет собой некоторую перестановку 26 латинских букв алфавита. Принцип преобразования для шифрации состоит в следующем. Если некоторая буква в str является k–ой буквой в обычном алфавите, то вместо нее должна быть взята буква из k–ой позиции "нового" алфавита alpha. Для подпрограммы дешифровки используется обратный принцип.
Решение задачи: «Реализовать шифрование на основе пользовательского алфавита»
textual
Листинг программы
using System; class Test { static string alphabet = "abcdefghijklmnopqrstuvwxyz"; static string Encode(string str, string alpha) { string result = String.Empty; for ( int i = 0; i < str.Length; i++ ) { if ( alphabet.IndexOf(str[i]) != -1 ) { result += alpha[alphabet.IndexOf(str[i])]; } else { result += str[i]; } } return result; } static string Decode(string str, string alpha) { string result = String.Empty; for (int i = 0; i < str.Length; i++) { if ( alphabet.IndexOf(str[i]) != -1 ) { result += alphabet[alpha.IndexOf(str[i])]; } else { result += str[i]; } } return result; } static void Main() { Console.WriteLine(Encode("hello world", "qwertyuiopasdfghjklzxcvbnm")); Console.WriteLine(Decode("itssg vgksr", "qwertyuiopasdfghjklzxcvbnm")); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д