2009-06-25 75 views
5

是否有可以在託管代碼中使用的SDK來安全碎化文件?在.NET中粉碎文件

編輯:This是我能找到谷歌的唯一紐帶,可以幫助我

編輯:無論是SDK或某種形式的基於COM組件。

+0

我認爲一個普通的程序(即沒有熟悉操作系統和存儲介質)可能會覆蓋單個文件是不可能的。 – CodesInChaos 2011-06-30 11:25:24

回答

4

這個code from codeproject可能是一個很好的起點。

Eraser已經存在好幾年了,您可以使用System.Diagnostics.Process調用它,或者至少在其中查看該算法。

1

在過去的幾年中,技術發生了變化,所以當我碰巧看到這個答案(爲什麼不再接受答案?)我想爲其他類似問題提供更新。

請注意,粉碎非常依賴文件系統和媒體。試圖在基於日誌的文件系統或存儲在智能(寫入級別)閃存上的文件系統上「碎化」文件不會讓你感覺很差。您必須至少編寫足夠的數據才能完成填充設備,以希望舊數據可能會被覆蓋一次。

更有可能你必須寫出幾個小文件,當FS滿時,刪除一個然後不斷寫一個新的文件,以確保所有保留的空間也被覆蓋。那麼你可能會相當安全。大概。

我說的可能是因爲存儲介質/ FS可能會認爲某個塊發生故障(或者相對使用得太多),並將其替換爲取代該磁盤的其他部分。這當然是一個阻塞的事情,所以任何更大的文件都不可能被重建。

1

請在CodePlex上查看Windows.WinAny.Helper。它有SecureDelete擴展它允許你用不同的算法,如古特曼,DoD-7,DoD-3,隨機或快速粉碎文件。