![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Удалить файл навсегдаDelphi , Файловая система , ФайлыУдалить файл навсегда
Оформил: DeeCo { If you want to get rid of a file normally you just delete it. But someone else can undelete it if the file hasn't been wiped correctly. For security purposes, to insure that certain files are permanently gone, the WipeFile procedure writes over the data in the file with random characters and then erases it. Wenn man eine Datei nicht mehr braucht, loscht man sie einfach. Aber jemand anders kann die Datei wieder herstellen, wenn sie nicht "richtig" geloscht wurde. Aus Sicherheitsgrunden, um sicherzustellen, dass eine Datei permanent geloscht wird, uberschreibt die WipeFile Prozedur eine Datei mit Zufalls-Zeichen und loscht sie anschliessend. } procedure WipeFile(FileName: string); var buffer: array [0..4095] of Byte; max, n: LongInt; i: Integer; fs: TFileStream; procedure RandomizeBuffer; var i: Integer; begin for i := Low(buffer) to High(buffer) do buffer[i] := Random(256); end; begin fs := TFilestream.Create(FileName, fmOpenReadWrite or fmShareExclusive); try for i := 1 to 3 do begin RandomizeBuffer; max := fs.Size; fs.Position := 0; while max > 0 do begin if max > SizeOf(buffer) then n := SizeOf(buffer) else n := max; fs.Write(Buffer, n); max := max - n; end; FlushFileBuffers(fs.Handle); end; finally fs.Free; end; Deletefile(FileName); end; Программный код на Delphi, который реализует процедуру Вот подробное описание кода:
Процедура Обратите внимание, что это код не гарантирует полной безопасности против восстановления данных, поскольку есть методы (например, forensic analysis) для восстановления удаленных файлов. Кроме того, эффективность этой процедуры может зависеть от различных факторов, таких как форматирование диска и возможности операционной системы. (Перевод на русский язык) В статье описывается процедура WipeFile, которая обеспечивает безопасное удаление файлов, зашифровывая их содержимое случайными символами и затем удаляя. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |