Удалить файл навсегда

Советы » Файлы » Удалить файл навсегда

{ 
  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

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com