обрезать файл БЕЗОПАСНО (php)

  • Есть файл с конфиденциальные данные.
  • Затем прочитайте некоторые материалы с конца, например, последние 1000 байтов.
  • Тогда обрежь это. Но не так просто — я хочу, чтобы эти данные были никогда не выздоровел — так что обрежьте их надежно. Я имею в виду, что не осталось ни одного байта от тех, кто когда-то читал.
  • Вариант заключается в изменить их все на нулевые байты. Но как?

В PHP решение, которое возникает в моей голове мгновенно:

$offset = filesize($file) - 1000;
$h = fopen($file, 'r+b');
// read my data

fseek($h, $offset);
fwrite($h, str_repeat("\x00", 1000), 1000);
fclose($h);

$h = fopen($file, 'cb');
ftruncate($h, $offset);
fclose($h);
  • QI .: Будет ли решение точно изменить те байтов присутствует в файле?
  • QII .: Необходимо ли двойное открытие-закрытие? (не уверен если fread немедленно записывает данные или кешируется & написано после закрытия указателя ресурса).

Может быть, больше о файловой системе, чем о программировании. Я использую NTFS (Win), но я бы хотел, чтобы мое приложение было кроссплатформенным.

Знать о shred (Безопасное удаление с помощью PHP 5.3.x), но не решение в моем случае.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]