文件粉碎概念问题

时间:2011-06-05 00:37:34

标签: java file shred

我的计算机上有一个文件粉碎机,我想知道是否可以在JAVA中制作一个只是为了学习。但是,我不确定它究竟是如何工作的,所以这就是我认为它的作用,请在我错的地方纠正我。

所以基本上它一直在加密文件的字节,然后简单地删除它。但这对我来说似乎太容易了,所以我必须遗漏一些东西或完全错误。我已经查明它是如何工作的,但我总是得到软件广告。

感谢您的回复

4 个答案:

答案 0 :(得分:4)

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

我说可能是因为存储介质/ FS可能会判断一个块出现故障(或相对使用过多)并将其映射为替代磁盘的其他部分。当然,这是一个单块的东西,所以任何更大的文件都不太可能被重建。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

覆盖将解决问题但它取决于文件系统/平台(请参阅下面的注释)。这是与.NET相关的问题(与Java没有太大区别)Shredding files in .NET

答案 3 :(得分:0)

你可以做的是逐个从文件中获取,将它们设置为0并将它们发送到遗忘名称(即垃圾):)