我需要將XML數據寫入加密文件。我可以讀取/寫入加密文件,但我無法確定如何跳過文件輸入部分並從MemoryStream對象執行。如何將XML寫入加密文件?
這是我到目前爲止。基本上我只需要得到一個字節[]來對我的標準加密進行預處理。
我很感激真棒輸入。我會很快測試這個。
編輯:經過測試,當我嘗試關閉內存流對象時,出現「無法訪問封閉流」異常。
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();
謝謝,我現在使用的是memorystream – kevp
非常感謝。我的第二個錯誤是以不正確的順序關閉對象。 – kevp