Не возвращает исходную строку - C#
Формулировка задачи:
Ещё один пример из Шилдта. Задача была переделать слово для шифрования с типа int в тип string. Не пойму как можно разрешить данный вопрос. можете подсказать ошибки?
Листинг программы
- string msg = "Совершенно секретно. Алексу Юстасу";
- string encmsg = "";
- string decmsg = "";
- string key = "pyramida";
- int k;
- Console.WriteLine("Первоначальное сообщение");
- Console.WriteLine(msg);
- Console.Write("Шифрование сообщения");
- for (int i = 0; i < msg.Length; i++)
- {
- for (k = 0; k < key.Length; k++)
- encmsg = encmsg + (char)(msg[i] ^ key[k]);
- if (encmsg.Length >= msg.Length) break;
- }
- Console.WriteLine(encmsg);
- Console.WriteLine("Расшифровка сообщения");
- for (int i = 0; i < msg.Length; i++)
- {
- for (k = 0; k < key.Length; k++)
- decmsg = decmsg + (char)(encmsg[i] ^ key[k]);
- if (decmsg.Length >= msg.Length) break;
- }
- Console.WriteLine("\n" + decmsg);
- Console.Read();
Решение задачи: «Не возвращает исходную строку»
textual
Листинг программы
- using System;
- using System.IO;
- using System.Linq;
- using System.Text;
- namespace shild03
- {
- class Program
- {
- static void Main(string[] args)
- {
- Encryption enc = new Encryption();
- string msg = "Совершенно секретно. Алексу Юстасу";
- enc.Text = msg;
- Console.WriteLine($"{enc.NewText}");
- enc.Text = enc.NewText;
- Console.WriteLine($"{enc.NewText}");
- using (StreamReader reader = new StreamReader
- (File.Open(@"E:\Encryption.txt",
- FileMode.OpenOrCreate), Encoding.BigEndianUnicode))
- {
- enc.Text = reader.ReadToEnd()
- ?? msg;
- if (string.IsNullOrWhiteSpace(enc.Text))
- enc.Text = msg;
- }
- using (StreamWriter writer = new StreamWriter
- (File.Open(@"E:\Encryption.txt",
- FileMode.OpenOrCreate), Encoding.BigEndianUnicode))
- {
- writer.Write(enc.NewText);
- }
- Console.ReadKey(false);
- }
- }
- class Encryption
- {
- public string Key { get; set; } = "pyramida";
- public string Text { get; set; }
- public string NewText => new string(Text.ToCharArray()
- .Select((c, i) => (char)(~c ^ Key[i % (Key.Length - 1)]))
- .ToArray());
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д