如何以编程方式真正清理删除文件?
因此,您即将将您的工作计算机交给您的一些同事。 如何确保您确实删除了所有个人数据?
重新格式化、重新安装操作系统并不能真正解决问题。
这让我开始思考这些程序是如何工作的? 我的意思是,他们使用什么算法以及这些实现的级别有多低?
有任何想法吗?
So you are about to pass your work-computer to some of your colleague. How do you make sure you really delete all your personal data?
Re-formatting, Re-installing OS will not really solve the problem.
I searched around and found some programs does "Wipe out" disks.
This caught me thinking how does those programs work?
I mean, What algorithms they use and how low level those implementations go?
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
大多数这些程序通过用随机噪声覆盖文件位来执行“安全删除”。
最大的问题更多地与硬盘驱动器和文件系统的实际实现有关。 碎片、缓存,以及您试图覆盖的数据实际上:这是个大问题。 这是一个非常低级的问题——确实是驱动程序级别的问题。 您将无法使用 Python、C# 或 Java 来完成此操作。
一旦这个问题解决了,就有了物理媒体的问题。 由于磁性介质的性质,经常可以读取硬盘驱动器上曾经存在的先前位,即使您用不同的位覆盖它们。 “安全删除”程序通过多次覆盖来解决这个问题——最好是随机但适当大量的覆盖。
进一步阅读:
Most of those programs do a "secure delete" by overwriting the file bits with random noise.
The biggest problem has more to do with the actual implementation of hard drives and file systems than anything else. Fragmentation, caching, where the data actually is that you're trying to overwrite: that's the big problem . And it's a very low-level problem -- driver level, really. You're not going to be able to do it with Python, C#, or Java.
Once that problem is solved, there's the one of physical media. Because of the nature of magnetic media, it's very frequently possible to read the previous bits that were once on the hard drive -- even if you overwrote them with a different bit. "Secure delete" programs solve this problem by overwriting several times -- preferably a random but suitably large number of times.
Further Reading:
安全删除程序会使用随机数据模式多次覆盖文件,因此即使是残余磁化也无法被拾取并在噪声中丢失。
但是,假设伟大的零挑战有一定道理,我认为你可以填写该文件/磁盘上有零并称自己很高兴,因为即使使用专业设置,这种剩余磁化实际上也是不可能拾取的。
Safe delete programs overwrite the file multiple times with random patterns of data, so that even residual magnetization cannot be picked up and is lost in the noise.
However, assuming that the great zero challenge has some truth in it, I think you can just fill the file/disk with zeros and call yourself happy, as this residual magnetization is practically impossible to pick even with professional setup.
据我所知,大多数工具都是通过 X 次写入和删除来完成此操作,其中 X 是一个适当大的数字。 做到这一点的最佳方法可能是在某种程度上与硬件进行交互,尽管一种廉价且简单的方法是创建文件直到磁盘已满,写入随机数据,删除它们,创建新文件并重复。
无论如何,这都是偏执狂。 只需删除一个文件通常就足够了......
As far as I know most tools do this with X writes and deletes, where X is some suitably large number. The best way to do this is probably to interface with the hardware at some level, although a cheap and easy way would be to create files until the disk is full, writing random data, delete them, create new files and repeat.
Its all paranoia anyway. Just deleting a file is usually much more than enough...