AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Schnellere XOR Operation

Ein Thema von Dbof · begonnen am 28. Okt 2008 · letzter Beitrag vom 3. Jan 2009
 
Dbof

Registriert seit: 20. Mär 2008
61 Beiträge
 
#1

Schnellere XOR Operation

  Alt 28. Okt 2008, 21:03
Einen schönen Abend!

Ich nutze die folgende Funktion, um 1 Datei mit einem Teil der 2. Datei zu "verschlüsseln", wobei dies nur eine simple XOR-Verschlüsselung ist:

Delphi-Quellcode:
procedure Crypt(XFile, KFile: String); //Durch die freundliche Unterstützung von rollstuhlfahrer und Uwe Raabe entstanden
var
  fkey, fxfile: TFilestream;
  keys: array[0..524287] of Char; // deine Menge weniger 1
  i: Cardinal;
  buffer: Char;
begin
  fkey := TFileStream.Create(kfile, fmOpenRead);
  fkey.Read(keys, 524288); // nun wieder vollzählig
  fkey.Free; // wird nicht mehr benötigt, da im Speicher

  fxfile := TFileStream.Create(xFile, fmOpenReadWrite);
  for i := 0 to fxfile.Size -1 do
  begin
    fxfile.Read(buffer, 1);
    fxfile.Position := fxFile.Position - 1;
    buffer := Chr(Ord(buffer) XOR Ord(keys[(i-1) mod 524287]));
    fxFile.Write(buffer, 1); // XOR
  end;
  fxfile.Free;
end;
Wenn ich diese Funktion in mein Programm integriere, läuft sie gut. Das jedoch nur bei "kleinen" Schlüsseldateien. Will ich eine größere Datei verwenden, braucht das Programm ewig. Dabei lässt sich auch das GUI kaum mehr nutzen, bzw. stürzt völlig ab. Kann ich was dagegen tun? Oder gibt es vielleicht eine "echte" Verschlüsselungsmethode, die schnell genug ist? Die zu ver- und entschlüsselnden Dateien sollten beliebig groß sein können.

Danke im Voraus
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 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