Простейшее шифрование при записи в файл - C#

Узнай цену своей работы

Формулировка задачи:

Здравстуйте! Есть код, который шифрует и дешифрирует строчку сообщения. Не могу сообразить, что нужно сделать, чтобы записать в файл например 2 строчки?
 void Enc(string [] str)
        {
            FileStream stream = new FileStream("mytext.txt", FileMode.OpenOrCreate, FileAccess.Write);
            DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();
            cryptic.Key = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH");
            cryptic.IV = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH");
            CryptoStream crStream = new CryptoStream(stream,cryptic.CreateEncryptor(),CryptoStreamMode.Write);
            byte[] data = ASCIIEncoding.ASCII.GetBytes(str[0]);
            crStream.Write(data,0,data.Length);
            crStream.Close();       
            stream.Close();
        
        }
            
                    void Dec()
        {
            FileStream stream = new FileStream("mytext.txt",FileMode.Open,FileAccess.Read);
            DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();
            cryptic.Key = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH");
            cryptic.IV = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH");
            CryptoStream crStream = new CryptoStream(stream,cryptic.CreateDecryptor(),CryptoStreamMode.Read);
            StreamReader reader = new StreamReader(crStream);
            string data = reader.ReadToEnd();
            reader.Close();
            stream.Close();
        }

Решение задачи: «Простейшее шифрование при записи в файл»

textual
Листинг программы
void Enc(string [] lines)
{
    using (FileStream stream = new FileStream("mytext.txt", FileMode.OpenOrCreate, FileAccess.Write))
    using (DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider())
    {
        cryptic.Key = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH");
        cryptic.IV = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH");
        var encoding = Encoding.GetEncoding("ASCII", EncoderFallback.ExceptionFallback, DecoderFallback.ExceptionFallback);
        using (CryptoStream crStream = new CryptoStream(stream,cryptic.CreateEncryptor(),CryptoStreamMode.Write))
        using (StreamWriter writer = new StreamWriter(crStream, encoding))
        {
            foreach (string s in lines.Take(2))
            {
                writer.WriteLine(s);
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы