static void Main(string[] args)
string plaintext = "windo";
Console.WriteLine($"Исходные данные: \n\t- Текст: {plaintext}\n\t- Ключ: {key}");
string ciphertext = Encode(plaintext, key);
Console.WriteLine("Зашифрованный текст: " + Convert.ToBase64String(Encoding.UTF8.GetBytes(ciphertext)));
string decodedtext = Decode(ciphertext, key);
Console.WriteLine("Расшифрованный текст: " + decodedtext);
static string Encode(string plaintext, string key)
for (int i = 0, j = 0; i < plaintext.Length; i++, j++)
char c = (char)(plaintext[i] ^ key[j % key.Length]);
static string Decode(string ciphertext, string key)
for (int i = 0, j = 0; i < ciphertext.Length; i++, j++)
char c = (char)(ciphertext[i] ^ key[j % key.Length]);