C# - Сериализация/Десериализация зашифрованного файла DES от потока

Вам необходимо использовать [[, программный эквивалент $. В противном случае, например, когда i равно col1, R будет искать df$i вместо df$col1.

for(i in names(df)){
  df[[paste(i, 'length', sep="_")]] <- str_length(df[[i]])
}
10
задан djdd87 8 June 2009 в 14:11
поделиться

2 ответа

Шифрование

public static void EncryptAndSerialize(string filename, MyObject obj, SymmetricAlgorithm key)
{
    using(FileStream fs = File.Open(filename, FileMode.Create))
    {
        using(CryptoStream cs = new CryptoStream(fs, key.CreateEncryptor(), CryptoStreamMode.Write))
        {
            XmlSerializer xmlser = new XmlSerializer(typeof(MyObject));
            xmlser.Serialize(cs, obj); 
        }
    }
}

Расшифровка:

public static MyObject DecryptAndDeserialize(string filename, SymmetricAlgorithm key)    
{
    using(FileStream fs = File.Open(filename, FileMode.Open))
    {
        using(CryptoStream cs = new CryptoStream(fs, key.CreateDecryptor(), CryptoStreamMode.Read))
        {
            XmlSerializer xmlser = new XmlSerializer(typeof(MyObject));
            return (MyObject) xmlser.Deserialize(cs);
        }
    }
}

Использование:

DESCryptoServiceProvider key = new DESCryptoServiceProvider();
MyObject obj = new MyObject();
EncryptAndSerialize("testfile.xml", obj, key);
MyObject deobj = DecryptAndDeserialize("testfile.xml", key);

Вам нужно изменить MyObject на любой тип объекта, который вы сериализуете, но это общая идея. Уловка состоит в том, чтобы использовать один и тот же экземпляр SymmetricAlgorithm для шифрования и дешифрования.

19
ответ дан 3 December 2019 в 18:00
поделиться

Вот пример шифрования / дешифрования DES для строки.

0
ответ дан 3 December 2019 в 18:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: