如何以编程方式真正清理删除文件?

时间:2009-04-28 15:01:22

标签: filesystems hard-drive systems-programming

因此,您即将把工作计算机传递给您的同事。您如何确保真正删除所有个人数据?

重新格式化,重新安装操作系统并不能真正解决问题。

我四处搜索,found some programs“擦除”磁盘。

这让我想到这些程序是如何运作的? 我的意思是,他们使用什么算法以及这些实现的程度如何?

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

这些程序中的大多数通过用随机噪声覆盖文件位来进行“安全删除”。

最大的问题更多地与硬盘驱动器和文件系统的实际实现有关。碎片,缓存,你试图覆盖的数据实际 :这是一个大问题。这是一个非常低级的问题 - 驱动程序级别,真的。你无法用Python,C#或Java来做到这一点。

一旦问题解决了,那就是物理媒体。由于磁性介质的性质,通常可以读取曾经在硬盘驱动器上的先前位 - 即使您用不同的位覆盖它们。 “安全删除”程序通过多次覆盖来解决这个问题 - 最好是随机但很多次。

进一步阅读:

答案 1 :(得分:4)

安全删除程序使用随机数据模式多次覆盖文件,因此即使剩余磁化也不能被拾取并且在噪声中丢失。 但是,假设the great zero challenge有一些真相,我认为你可以用零填充文件/磁盘并称自己开心,因为即使使用专业设置,这种剩余磁化几乎是不可能的。

答案 2 :(得分:0)

据我所知,大多数工具使用X写入和删除执行此操作,其中X是一些适当大的数字。最好的方法是在某种程度上与硬件接口,虽然一种便宜又简单的方法是创建文件,直到磁盘已满,写入随机数据,删除它们,创建新文件并重复。

无论如何都是偏执狂。删除文件通常远远不够......