如何加密DataContractSerializer保存到文件的数据?

时间:2012-11-20 13:03:18

标签: c# encryption windows-8 datacontractserializer

我正在用C#创建一个Windows 8商店应用程序 该应用程序使用一些Web服务来获取其数据。该应用使用DataContractSerializerDictionary将一些收到的数据保存在文件中。这样做是为了缓存一些不会发生太大变化的数据。

将数据作为人类可读的xml写入用户本地存储中的文件。

是否有一种简单的方法来保存数据加密?我不在乎使用什么加密算法,它不再是可读的xml。

提前致谢!

这是我用于将Dictionary保存到文件的代码:

private static async Task InternalSaveAsync()
{
    StorageFile sessionFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(Filename, CreationCollisionOption.ReplaceExisting);
    using (IRandomAccessStream sessionRandomAccess = await sessionFile.OpenAsync(FileAccessMode.ReadWrite))
    {
        using (IOutputStream sessionOutputStream = sessionRandomAccess.GetOutputStreamAt(0))
        {
            DataContractSerializer sessionSerializer = new DataContractSerializer(typeof(Dictionary<string, object>), KnownTypes);
            sessionSerializer.WriteObject(sessionOutputStream.AsStreamForWrite(), _data);
            await sessionOutputStream.FlushAsync();
        }
    }
}

0 个答案:

没有答案