[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Необратимое удаление файла
LRCenter
Хочу написать функцию необратимого удаления файла (без возможности восстановления).

Суть работы:
1. определяем filesize-ом размер файла(n).
2. Получаем строку нулей длинной в n.
3. Открываем файл и пишем в него строку. Закрываем.
4. Удаляем файл.

Так вот у меня два вопроса:
1. Как заполнить строку нужным числом символов? (циклом уж больно ресурсоемко получится)
2. Рационален-ли такой способ, может можно проще? (например, при большом размере файла, строка с нулями будет жрать много памяти)



Спустя 8 минут, 49 секунд (7.03.2011 - 19:38) Nikitian написал(а):
1. str_repleat('0',$size)
2. Не запаривался бы.

Спустя 18 секунд (7.03.2011 - 19:38) Trianon написал(а):
1. Если циклом заполнять порциями по 64, допустим, килобайта, то не так уж и емко.
2. записывать стоит не нули, а последовательность из-под ГСЧ.
3. Для полной уверенности, писать стоит поверх разные данные несколько раз.

Критичные данные (вроде секретных ключей, сертификатов доступа и т.п.) стирают именно так.

Спустя 6 минут, 2 секунды (7.03.2011 - 19:44) LRCenter написал(а):
Nikitian
Спасибо!

Trianon
Цитата
2. записывать стоит не нули, а последовательность из-под ГСЧ.


Это как?

Спустя 3 минуты, 42 секунды (7.03.2011 - 19:48) Trianon написал(а):

Спустя 24 минуты, 27 секунд (7.03.2011 - 20:12) LRCenter написал(а):
Trianon
А какая разница чем затирать?

Спустя 14 минут, 29 секунд (7.03.2011 - 20:27) Trianon написал(а):
Существуют лабораторные методы восстановления затертой информации.
Успех этого процесса напрямую зависит от того, сколько раз, и насколько случайно менялись данные, положенные поверх.

Понятно, что применяются они, в основном, при крайне высокой стоимости восстанавливаемых данных.
С другой стороны, Вы же не сказали, какова цель Вашего стирания?
Если Вы трете ключи доступа к системе банк-клиент в экаунте на стопицот лямов долларов - овчинка стоит выделки.
А если фотки с вечеринки - наверное нет. Ну пока на этих фотках не окажется снимок поножовщины или еще какого компромата.

Спустя 4 минуты, 39 секунд (7.03.2011 - 20:31) Trianon написал(а):
И наконец, последнее.
О затирании именно нулями.

Существуют так называемые sparsed file systems (файловые системы с поддержкой дырявых файлов)
В них вообще длинные сегменты файлов, заполненные нулями, места не занимают.
То есть те нули которые блоками пишутся подряд, фактически на поверхность диска не записываются.

Спустя 11 часов, 43 минуты, 46 секунд (8.03.2011 - 08:15) LRCenter написал(а):
Понял, но сгенерировать такую длинную строку случайных знаков очень ресурсоемко.

Спустя 32 минуты, 31 секунда (8.03.2011 - 08:48) Trianon написал(а):
Какую - такую?
Сгенерируйте более короткую.

Да и криптостойкость источника случайных чисел сравнимая с тем что требуется при генерации ключей тоже врядли нужна.

Спустя 3 часа, 17 секунд (8.03.2011 - 11:48) LRCenter написал(а):
А если фрагмент сгенерить, и им заполнять, то файловая система не засечет регулярность и не сожмет файл?

Спустя 4 минуты, 40 секунд (8.03.2011 - 11:53) Trianon написал(а):
Я о таких ФС не слышал.

Спустя 2 часа, 13 минут, 20 секунд (8.03.2011 - 14:06) LRCenter написал(а):
Ок, спасибо за помощь! Trianon


_____________
Меньше кода - меньше багов ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.