2

我的电脑上有一个文件粉碎机,我想知道是否可以为了学习而用 JAVA 制作一个。但是,我不确定它是如何工作的,所以这就是我认为它的作用,请纠正我的错误。

所以基本上它一直加密文件的字节,然后简单地删除它。但这对我来说似乎太容易了,所以我一定是错过了什么或者完全错了。我查过它是如何工作的,但我总是得到软件广告。

感谢您的任何回复

4

4 回答 4

4

请注意,粉碎非常依赖于文件系统和媒体。尝试在基于日志的文件系统或存储在智能(写入均衡)闪存上的文件系统上“粉碎”文件不会让你走得太远。您至少必须写入足够的数据以完成填充设备,以希望旧数据可能会被覆盖一次。更有可能您必须编写几个较小的文件,当您的 FS 已满时,删除一个然后继续写入一个新文件,以确保所有保留空间也已被覆盖。那么你可能会相当安全。大概。

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

于 2011-06-05T01:14:35.283 回答
1

至少,软件文件粉碎机必须将 0 写入用于保存文件的物理介质中。

于 2011-06-05T00:42:48.090 回答
1

覆盖将解决问题,但这取决于文件系统/平台(请参阅下面的评论)。这是一个与 .NET 相关的问题(与 Java 没有太大区别) 在 .NET 中粉碎文件

于 2011-06-05T00:45:50.187 回答
0

您可以做的是从文件中一一获取叮咬,将它们设置为 0 并将它们发送到遗忘,即垃圾箱 :)

于 2011-06-05T01:11:59.767 回答