0

2つのデータを生成する2つのボタンがあります。私が達成する必要があるのは、それらを別々に暗号化し、同じファイルにエクスポートすることです。その後、後で復号化できるようにする必要があります。

CBCモードを使用することは可能ですか?同じストリームを使用して、2番目のデータの最初のブロックを1番目のデータの最後のブロックで暗号化しますか?(IVを避けるため)

または

これはECBモードで実行できますか?誰かがこれについて詳しく説明できれば良いでしょう。

4

1 に答える 1

1

2つの値は、ファイルの個別のプロパティとしていつでも保存できます。

[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 に答える