AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fragen zu TFileStream

Ein Thema von Dbof · begonnen am 6. Sep 2008 · letzter Beitrag vom 13. Okt 2008
 
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Zweifel zu TFileStream

  Alt 6. Sep 2008, 18:15
HI,

als erstes mal würde ich dir Vorschlagen, deine Schlüssel in ein Array of Char zu laden. Das lässt sich mit der Funktion Read bewerkstelligen. Dann brauchst du eine Schleife, die eine Datei lesend und schreibend öffnet. Von dieser liest du ein Zeichen, geht das Zeichen zurück und überschreibst das Zeichen mit dem verschlüsselten Wert. Das sieht dann so aus:

Delphi-Quellcode:
procedure EncryptFile(XFile, KFile: String);
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 := 1 to fxfile.Size do
  begin
    fxfile.Read(buffer, 1);
    fxfile.Position := fxFile.Position - 1;
    fxFile.Write(Chr(Ord(buffer) XOR Ord(keys[(i-1) mod 524287])), 1); // XOR
  end;
  fxfile.Free;
end;
Frei im Editor getippt. Kann Fehler enthalten.

Bernhard

EDIT: "ZWEIFEL" drückst du keine aus. Also kannst du dir auch gleich noch einen neuen Namen für das Thema suchen
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
 


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 05:34 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