Сериализация и шифрование в XML c#

150
03 декабря 2020, 05:30

Столкнулся с непонятной мне проблемой. У меня есть следующие классы для сериализации.

  [Serializable]
public class Exercise
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Theme { get; set; }
    public string FileName { get; set; }
    public Exercise()
    {
    }
[Serializable]
public class Option
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string IdExercise { get; set; }
    public bool IsTest { get; set; }
    public Option()
    {
    }
}

И есть методы сериализации с шифрованием и десериализации с дешифрование соответственно.

  public static void SerializerXml<T>(string file, List<T> list, SymmetricAlgorithm key)
    {
        using (Stream ss = File.Open(file, FileMode.Create))
        {
            using (CryptoStream cs = new CryptoStream(ss, key.CreateEncryptor(), CryptoStreamMode.Write))
            {
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<T>));
                xmlSerializer.Serialize(ss, list);
            }
        }
    }
    public static List<T> DeSerializerXml<T>(string file, List<T> list, SymmetricAlgorithm key)
    {
        using (Stream sl = File.Open(file, FileMode.Open))
        {
            using (CryptoStream cs = new CryptoStream(sl, key.CreateDecryptor(), CryptoStreamMode.Read))
            {
                XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<T>));
                list = (List<T>)xmlSerializer.Deserialize(sl);
                return list;
            }
        }
    }

Как итог после сериализации, создается файл XML, но в конце файла, после корневого элемента добавляются посторонние символы.

Подскажите пожалуйста, как это исправить и откуда вообще это появилось. Заранее спасибо.

READ ALSO
SignalR. WebSocket connection

SignalR. WebSocket connection

Всем приветПодключаюсь к SignalR

120
Не работает система Datagrid - ObservableCollection - Polygon

Не работает система Datagrid - ObservableCollection - Polygon

Я работаю над автоматизированным местом Диспетчера, у которого должна быть активная картаКарту я реализую в WPF с использованием шаблона...

104
Парсинг CSR библиотекой bouncy castle в С#

Парсинг CSR библиотекой bouncy castle в С#

Есть необходимость проверять запросы на сертификаты(CSR)Сам запрос раскладываю так:

89
Запуск jar с помощью C#

Запуск jar с помощью C#

Всем доброго времени сутокДолго ломаю голову (я в шарпах не спец), почему это не работает

102