【问题标题】:Shredding files in .NET在 .NET 中粉碎文件
【发布时间】:2010-11-06 00:10:46
【问题描述】:

是否有可用于托管代码的 SDK 以安全地粉碎文件?

编辑:This 是我能在谷歌中找到的唯一对我有帮助的链接

编辑:SDK 或某种基于 COM 的组件。

【问题讨论】:

  • 我认为普通程序(即不熟悉操作系统和存储介质)不可能可靠地覆盖单个文件。

标签: c# .net security shred


【解决方案1】:

这个code from codeproject 可能是一个很好的起点。

Eraser 已经存在多年,您可以使用 System.Diagnostics.Process 调用它,或者至少查看那里的算法。

【讨论】:

    【解决方案2】:

    看看 CodePlex 上的Windows.WinAny.Helper。它具有 SecureDelete 扩展名,可让您使用 Gutmann、DoD-7、DoD-3、Random 或 Quick 等不同算法粉碎文件。

    【讨论】:

      【解决方案3】:

      过去几年技术发生了变化,所以当我碰巧看到这个答案时(为什么没有再次接受答案?)我想为其他有类似问题的人提供更新。

      请注意,粉碎在很大程度上取决于文件系统和媒体。尝试在基于日志的文件系统或存储在智能(写入均衡)闪存上的文件系统上“粉碎”文件不会让您走得太远。您至少必须写入足够的数据以完成填充设备,以希望旧数据可能会被覆盖一次。

      您更有可能必须写入几个较小的文件,当您的 FS 已满时,删除一个然后继续写入一个新文件,以确保所有保留空间也已被覆盖。那么你可能会相当安全。大概吧。

      我说可能是因为存储介质/FS 可以确定一个块出现故障(或相对使用过多)并将其映射到磁盘的其他部分来代替。这当然是每个块的事情,因此不可能重建任何更大的文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-20
        • 1970-01-01
        相关资源
        最近更新 更多