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