0

有 2 个按钮将生成 2 条数据。我需要实现的是分别加密它们并导出到同一个文件。然后我需要能够稍后解密它。

可以使用CBC模式吗?使用相同的流通过第一块数据的最后一个块来加密第二块数据的第一块?(避免IV)

或者

我可以在欧洲央行模式下这样做吗?如果有人能详细说明这一点会很好。

4

1 回答 1

1

您始终可以将这两个值存储为文件的单独属性。

[Serializable]
public class EncryptedValues
{
    public string Value1 { get; set; }
    public string Value2 { get; set; }

    public static EncryptedValues FromXml(string xmlString)
    {
        if (!string.IsNullOrEmpty(xmlString))
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(EncryptedValues));
            using (MemoryStream memoryStream = new MemoryStream())
            {
                using (StreamWriter streamWriter = new StreamWriter(memoryStream))
                {
                    streamWriter.Write(xmlString);
                    streamWriter.Flush();
                    memoryStream.Flush();
                    memoryStream.Position = 0;

                    return (xmlSerializer.Deserialize(memoryStream) as EncryptedValues);
                }
            }
        }

        return null;
    }

    public string ToXml()
    {
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(EncryptedValues));

        using (MemoryStream memoryStream = new MemoryStream())
        {
            using (StreamWriter streamWriter = new StreamWriter(memoryStream))
            {
                xmlSerializer.Serialize(streamWriter, o);
                streamWriter.Flush();
                memoryStream.Flush();
                memoryStream.Position = 0;

                using (StreamReader streamReader = new StreamReader(memoryStream))
                {
                    return streamReader.ReadToEnd();
                }
            }
        }
    }

}
于 2009-12-14T23:25:28.110 回答