答案 0 :(得分:4)
这code from codeproject可能是一个很好的起点。
Eraser已存在多年,您可以使用System.Diagnostics.Process调用它,或者至少查看那里的算法。
答案 1 :(得分:1)
技术在过去几年发生了变化,所以当我碰巧看到这个答案时(为什么不再接受答案?)我想为其他有类似问题的人提供更新。
请注意,碎化非常依赖于文件系统和媒体。尝试在基于日志的文件系统或存储在智能(写入调平)闪存上的文件系统上“粉碎”文件并不会让你走得太远。您必须至少编写足够的数据来完成填充设备,以避免旧数据被覆盖一次。
更有可能你必须编写几个较小的文件,当你获得FS满时,删除一个,然后继续写一个新文件,以确保所有保留空间也被覆盖。那么你可能会相当安全。可能。
我说可能是因为存储介质/ FS可能会判断一个块出现故障(或相对使用过多)并将其映射为替代磁盘的其他部分。当然,这是一个单块的东西,所以任何更大的文件都不太可能被重建。
答案 2 :(得分:1)
在CodePlex上查看Windows.WinAny.Helper。它具有 SecureDelete 扩展名,允许您使用不同的算法(如Gutmann,DoD-7,DoD-3,Random或Quick)粉碎文件。