Главная arrow Общие вопросы arrow Secure Delete - удаление файла без возможности восстановления  
30.07.2010
Главное меню
Главная
Лаборатория
Книги по дельфи
Инструменты
Статьи
Видео
Юмор
Поиск
Новости
Лента новостей
Новости Delphi
Новости проекта
Новости инструментов
Разные новости
База знаний Delphi
Общие вопросы
Windows, WinAPI
Графика, Звук
IDE Delphi
Консоль
Голосования
Каталог@Mail.ru - каталог ресурсов интернет
комментарии
Secure Delete - удаление файла без возможности восстановления Версия для печати
Рейтинг: / 3
ХудшаяЛучшая 
Написал Snowy   
05.09.2007
Вот код, созданный по методу Гуттмана.
Код писался не для практических целей, а как демонстрация работы теории.
Поэтому в нём много места для оптимизации, т.к. код работает довольно медленно.
Но свою задачу он выполняет. А задача простая – удалить файл с дистка так, чтобы его невозможно было восстановить.
procedure ZeroFillDelete(FileName: string);    
var    
  fs: TFileStream;    
  i:  integer;    
  procedure RandomWrite;    
  var b:  byte;    
  begin    
    repeat    
      b := Random(256); fs.Write(b, 1);    
    until fs.Position + 1 >= fs.Size;    
  end;    
  procedure WritePattern(pattern: byte);    
  const patt: array[5..31] of dword = ($555555, $AAAAAA, $924924, $492492,    
        $249249, 0, $111111, $222222, $333333, $444444, $555555, $666666,    
        $777777, $888888, $999999, $AAAAAA, $BBBBBB, $CCCCCC, $DDDDDD,    
        $EEEEEE, $FFFFFF, $924924, $492492, $249249, $6DB6DB, $B6DB6D, $DB6DB6);    
  var d: dword;    
  begin    
    d := patt[pattern] shl 8;    
    repeat fs.Write(d, 3); until fs.Position + 3 >= fs.Size;    
  end;    
begin    
  if not FileExists(FileName) then Exit;    
  for i := 1 to 35 do    
  try    
    fs := TFileStream.Create(FileName, fmOpenWrite);    
    try    
      if (i < 5) or (i > 31) then RandomWrite    
      else WritePattern(i);    
    finally    
      fs.Free;    
    end;    
  except Exit; end;    
  DeleteFile(FileName);    
end;
Дискутирование вокруг темы удаления методом Гуттмана можно почитать на http://forum.vingrad.ru/.

Автор: Snowy.

опубликовано
Добавить новыйПоиск
Добавить комментарий
Имя:
Веб-сайт:
Заголовок:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Security Image
Пожалуйста, введите проверочный код, который Вы видите на картинке.
 
< Пред.