Вопрос о концепции уничтожения файлов - PullRequest
2 голосов
/ 05 июня 2011

У меня на компьютере есть файл-шредер, и я хотел узнать, возможно ли сделать его в JAVA просто для изучения.Но я не уверен, как именно это работает, поэтому я думаю, что именно так оно и есть, пожалуйста, исправьте меня, где я ошибаюсь.

Так что в основном он продолжает шифровать байты файла, а затем простоудаляет это.Но это кажется мне слишком простым, поэтому я должен что-то упустить или быть совершенно не прав.Я посмотрел, как это работает, но я всегда получаю рекламу программного обеспечения.

Спасибо за любой ответ

Ответы [ 4 ]

4 голосов
/ 05 июня 2011

Обратите внимание, что измельчение очень сильно зависит от файловой системы и носителя. Попытка «уничтожить» файл в файловой системе, основанной на журнале, или файловой системе, хранящейся на интеллектуальном флэш-накопителе (запись с выравниванием записи), не даст вам большого успеха. Вы должны были бы, как минимум, записать достаточно данных, чтобы завершить заполнение устройства, чтобы надеяться, что старые данные могут быть перезаписаны один раз. Скорее всего, вам придется написать несколько файлов меньшего размера, а когда вы заполните FS полностью, удалите один, а затем продолжайте писать новый, чтобы гарантировать, что все зарезервированное пространство также было перезаписано. Тогда вы, вероятно, будете в безопасности. Возможно.

Я говорю, вероятно, потому что носитель / ФС мог решить, что блок вышел из строя (или использовал слишком много относительно), и отобразить его, подставив вместо этого какую-то другую часть диска. Конечно, это зависит от блока, поэтому вряд ли будет восстановлен любой файл большего размера.

1 голос
/ 05 июня 2011

Перезапись решит проблему, но это зависит от файловой системы / платформы (см. Комментарий ниже). Вот связанный вопрос с .NET (не сильно отличающийся от Java) Уничтожение файлов в .NET

1 голос
/ 05 июня 2011

Как минимум, программный шредер должен записать 0 на физический носитель, который использовался для хранения файла.

0 голосов
/ 05 июня 2011

Что вы можете сделать, это получить кусочки из файла один за другим, установить их на 0 и отправить их в забвение, также называемое мусорным ведром

...