Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi dateien sicher löschen (https://www.delphipraxis.net/94512-dateien-sicher-loeschen.html)

T.E. 22. Jun 2007 14:27


dateien sicher löschen
 
Hallo

Wie kann ich Dateien sicher löschen?
Damit meine ich Dateien, die vielleicht persönliche Daten enthalten, und auf keinen Fall in fremde hände gelangen sollten.

shmia 22. Jun 2007 14:47

Re: dateien sicher löschen
 
Suchst du Delphi Sourcecode oder ein Freeware/Shareware Programm?
Bei Google suchensecure file deletion
Bei Google suchenfile shredder

fLaSh11 22. Jun 2007 15:40

Re: dateien sicher löschen
 
Als Freeware ist Bei Google suchenTrueCrypt empfehlenswert.

Christian18 22. Jun 2007 15:55

Re: dateien sicher löschen
 
Hallo,

ich bin mir jetzt nicht 100%ig sicher, aber es gab mal sowas wie Low Level Formatierung!!! Also wenn du vor hast deine gesamte HDD zu Formatieren, könnte ich dir das empfehlen.

LF Christian18

T.E. 22. Jun 2007 19:49

Re: dateien sicher löschen
 
Also eigentlich suche ich einen Code, sonst hät ich diesen thread nämlich in freeware,etc. gesetzt.

phreax 22. Jun 2007 21:16

Re: dateien sicher löschen
 
In den Jedis gibt es diese Funktion ich habe diese mal extrahiert, hier da Unit aber Beachte das immer noch die Jedi Lizenz gilt ;)

Delphi-Quellcode:
unit MyFileUtils;

interface

procedure ShredFile(const FileName: string; Times: Integer);

implementation

uses Classes,Windows,sysUtils,forms;

function FileGetSize(const FileName: string): Integer;
var
  SearchRec: TSearchRec;
{$IFDEF MSWINDOWS}
  OldMode: Cardinal;
{$ENDIF MSWINDOWS}
begin
  Result := -1;
{$IFDEF MSWINDOWS}
  OldMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
{$ENDIF MSWINDOWS}
    if FindFirst(FileName, faAnyFile, SearchRec) = 0 then
    begin
      Result := SearchRec.Size;
      SysUtils.FindClose(SearchRec);
    end;
{$IFDEF MSWINDOWS}
  finally
    SetErrorMode(OldMode);
  end;
{$ENDIF MSWINDOWS}
end;

procedure ShredFile(const FileName: string; Times: Integer);
const
  BUFSIZE  = 4096;
  ODD_FILL = $C1;
  EVEN_FILL = $3E;
var
  Fs: TFileStream;
  Size: Integer;
  N: Integer;
  ContentPtr: Pointer;
begin
  Size := FileGetSize(FileName);
  if Size > 0 then
  begin
    if Times < 0 then
      Times := 2
    else
      Times := Times * 2;
    ContentPtr := nil;
    Fs := TFileStream.Create(FileName, fmOpenReadWrite);
    try
      GetMem(ContentPtr, BUFSIZE);
      while Times > 0 do
      begin
        if Times mod 2 = 0 then
          FillMemory(ContentPtr, BUFSIZE, EVEN_FILL)
        else
          FillMemory(ContentPtr, BUFSIZE, ODD_FILL);
        Fs.Seek(0, soFromBeginning);
        Application.ProcessMessages;
        N := Size div BUFSIZE;
        while N > 0 do
        begin
          if n mod 50 = 0 then Application.ProcessMessages;
          Fs.Write(ContentPtr^, BUFSIZE);
          Dec(N);
        end;
        N := Size mod BUFSIZE;
        if N > 0 then
          Fs.Write(ContentPtr^, N);
        FlushFileBuffers(Fs.Handle);
        Dec(Times);
      end;
    finally
      if ContentPtr <> nil then
        FreeMem(ContentPtr, Size);
      Fs.Free;
      DeleteFile(FileName);
    end;
  end
  else
    DeleteFile(FileName);
end;

end.
mfg phreax

jus 23. Jun 2007 00:56

Re: dateien sicher löschen
 
@T.E.
Also wenn es sich die Löschung von sehr sehr heikle Daten geht, wäre der Ansatz nur die Dateien zu löschen vielleicht zu wenig, da es bei einem derzeitigen Windows Betriebssystem nicht garantiert werden kann, dass sich noch Teile von diesen Daten verstreut auf der gesamten Platte rumliegen. Eine sehr sichere Variante wäre demnach die gesamte Festplatte zu formatieren(überschreiben). Das Bundesministerium für Sicherheit bietet z.B. so ein Tool an, das in Prinzip nach dieser Methode arbeitet.

jus

P.S.: Die sicherste Variante Daten der Festplatte zu zerstören, wäre wohl die physische Zerstörung der Festplatte. :???:

phreax 23. Jun 2007 10:35

Re: dateien sicher löschen
 
Zitat:

Zitat von jus
@T.E.
Also wenn es sich die Löschung von sehr sehr heikle Daten geht, wäre der Ansatz nur die Dateien zu löschen vielleicht zu wenig, da es bei einem derzeitigen Windows Betriebssystem nicht garantiert werden kann

Wie jetzt? Imho müssten doch wenn man eine Datei mit einem beliebigen Bytemuster mit gleicher Größe überschreibt die selben Sektoren auf der Festplatte überschrieben werden.

:gruebel:
mfg phreax

jus 23. Jun 2007 12:01

Re: dateien sicher löschen
 
Zitat:

Zitat von phreax

Wie jetzt? Imho müssten doch wenn man eine Datei mit einem beliebigen Bytemuster mit gleicher Größe überschreibt die selben Sektoren auf der Festplatte überschrieben werden.

:gruebel:
mfg phreax

Schau mal z.B. diesen Thread. :wink:

Grüsse,
jus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz