被加密玩弄和解密文件在VC#速成2010年C#文件加密和解密的問題
我見過的所有教程和文件要求,以加密文件2個FileSteams。一個用於讀取未加密的版本,另一個用於加密。當我實際編寫代碼時,它一直拋出一個錯誤,告訴我它無法打開文件,因爲它是由輸出文件流中的另一個進程打開的。
我假設這是因爲該文件是由輸入文件流打開。那意味着我必須指定一個不同的文件名?所以,即使操作成功後,我會知道目錄中有原始未加密文件和單獨的加密版本嗎?這是否不利於這一點?或者我在這裏做錯了什麼?我的代碼與此類似...
public string filename = "test.xml";
using(FileStream input = new FileStream(filename, FileMode.Open, FileAccess.Read))
using(FileStream output = new FileStram(filename, FileMode.Open, FileAccess.Write))
using(....all the crypto stream and transform stuf...)
{
...do the encryption....
}
這引發了另一個問題:如果攻擊者可以訪問正在運行的計算機,則您的文件不安全。如果要加密文件,則必須確保未加密的字節不會觸碰硬盤。如果你用單詞開啓你的超級祕密商業計劃,那麼各種臨時文件將被寫入你永遠無法清理的驅動器中。如果你正在尋找保護文件,你真的需要整個驅動器加密。 – TwentyMiles 2010-07-12 15:38:51