【发布时间】:2012-05-10 16:45:57
【问题描述】:
我需要将 XML 数据写入加密文件。我可以读/写加密文件,但我无法弄清楚如何跳过文件输入部分并从 MemoryStream 对象中执行。
这是我目前所拥有的。基本上我只需要得到一个 Byte[] 来执行我的标准加密。
我很欣赏这些很棒的意见。我很快就会对此进行测试。
编辑:经过测试,当我尝试关闭 memorystream 对象时出现“无法访问已关闭的流”异常。
MemoryStream ms = new MemoryStream();
XmlTextWriter xmlwriter = new XmlTextWriter(ms,Encoding.ASCII);
FileStream EncryptedFileStream = new FileStream(file, FileMode.Create, FileAccess.Write);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes("AAAAAAAA");
DES.IV = ASCIIEncoding.ASCII.GetBytes("AAAAAAAA");
ICryptoTransform desEncrypt = DES.CreateEncryptor();
CryptoStream cryptostream = new CryptoStream(EncryptedFileStream, desEncrypt, CryptoStreamMode.Write);
//create xml document
byte[] bytearray = new byte[ms.Length];
ms.Read(bytearray, 0, bytearray.Length);
cryptostream.Write(bytearray, 0, bytearray.Length);
cryptostream.Close();
ms.Close();
EncryptedFileStream.Close();
【问题讨论】:
标签: c# xml encryption