1.暗/復号器を用意
2.暗/復号器を元にストリームを作成
3.暗/復号化したいデータをストリームでやりとり
下記例はオブジェクトのシリアライズの際に書き出すデータを暗号化
//保存するクラス(TestClass)のインスタンスを作成//DataContractSerializerオブジェクトを作成//オブジェクトの型を指定するDataContractSerializer serializer =new DataContractSerializer(typeof(Tokens));//BOMが付かないUTF-8で、書き込むファイルを開くXmlWriterSettings settings = new XmlWriterSettings();settings.Encoding = new System.Text.UTF8Encoding(false);// Encryptor(暗号化器)を用意するusing (var am = new AesManaged())using (var encryptor = am.CreateEncryptor(m_key, m_iv))// 出力ストリームを用意するusing (var outStream = new FileStream(strPath, FileMode.CreateNew)){// 暗号化して書き出すusing (var cs = new CryptoStream(outStream, encryptor, CryptoStreamMode.Write)){using (XmlWriter xw = XmlWriter.Create(cs, settings)){//シリアル化し、XMLファイルに保存するserializer.WriteObject(xw, obj);}}}
参考