AGB  ·  Datenschutz  ·  Impressum  







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

String mit AES verschlüsseln

Ein Thema von stev-e87 · begonnen am 21. Feb 2010 · letzter Beitrag vom 21. Feb 2010
Antwort Antwort
stev-e87

Registriert seit: 28. Feb 2009
20 Beiträge
 
#1

String mit AES verschlüsseln

  Alt 21. Feb 2010, 09:43
Hallo Leute,

ich versuche momentan einen String (= Inhalt einer XML- Komponente) mittels AES zu verschlüsseln, was natürlich nicht klappt. Sonst wär ich ja nicht hier drin
Ich benutze dafür die AESLib von J. Rathlev (www.rathlev-home.de/sources/delphi.html) und das dazugehörige Sample. In diesem wird leider nur das Verschlüsseln von Dateien angeboten, es wird also mit Filestreams gearbeitet. Das ganze sieht jetzt so aus:

Code:
procedure Encrypt(Pwd:String);
var
  s : string;
  sDest, sSource : TFileStream;
  Len : longint;
begin
  //Stream nach File sichern, Umweg nötig, da Handling mit TStringstreams nicht geht
  //Wird am Ende der Routine gelöscht (Mehrfachüberschreibung)
  frm_Safe.com_XML.SaveToFile('database2.xml');
  s:= 'database.tcdb';
  sSource:=TFileStream.Create('database2.xml',fmOpenRead+fmShareDenyNone);
  sDest:=TFileStream.Create(s,fmCreate);
  Screen.Cursor:=crHourGlass;
  with TEncryption.Create(Pwd,0,defCryptBufSize) do begin
    if EncryptStream(sSource,sDest) then begin
      //MessageDlg ('File encrypted to: '#13+s,mtInformation,[mbOK],0);
      //edtFiles.Text:=s;
      end
    else
      MessageDlg ('Beim Verschlüsseln ist ein Fehler aufgetreten!',mtError,[mbOK],0);
    Free;
  end;
  sSource.Free;
  sDest.Free;
  Screen.Cursor:=crDefault;
  //Mehrfachüberschreibung
  //http://www.delphi-treff.de/tipps/dateienverzeichnisse/wiki/Dateien%20ohne%20R%C3%BCckst%C3%A4nde%20entfernen/
  ShredFile('database2.xml',3);
end;
Ich möchte den Umweg über eine Datei vermeiden, weil es ohne Shreddern zu unsicher ist und das Shreddern der Dummy- Datei Performance kostet, die ich einsparen könnte. Habe versucht die Filestreams durch normale Streams,... zu ersetzen, hin und her konvertiert. Das verschlüsselte Ergebnis ist dann speicherplatztechnisch viel Kleiner als das Ausgangsmaterial (der XML- Inhalt), was logischerweise keinen Sinn macht. Ich schaffe es einfach nicht mit anderen Typen als Filestreams zu arbeiten.

Im Source der AESlib finde ich auch einfach keinen Anhaltspunkt... hänge Sie mal mit an den Thread, falls einer nachschauen mag.

Hoffe einer von euch hat bei diesem Thema mehr Durchblick. Wäre auch über eine Alternative zu J.Rathlevs Version froh.

Danke!
Angehängte Dateien
Dateityp: pas aeslib_129.pas (13,7 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

Re: String mit AES verschlüsseln

  Alt 21. Feb 2010, 09:51
Ich kenn diese Lib nicht, aber da in dem Beispiel das Verschlüsseln von Streams angeboten wird, kannst du entweder deinen String in einen Stream, wie z.B. TMemoryStream oder gar TStringStream (da deine Delphi-Version nicht angebeben ist, kann ich nicht sagen ob Letzeres auch schon bei dir existiert) kopieren und dann diesen verschlüsseln.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: String mit AES verschlüsseln

  Alt 21. Feb 2010, 09:53
Hallo,

direkt kann ich dir nicht helfen, aber mit dem DEC hatte ich damit früher keine Probleme. Beispiele findest du in der DP genügend, bsp. hier.

Ansonsten könntest du vielleicht mit TMemoryStream Erfolg haben. Aber sicher bin ich mir nicht.

Grüße, Matze
  Mit Zitat antworten Zitat
Antwort Antwort


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:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz