![]() |
String mit AES verschlüsseln
Liste der Anhänge anzeigen (Anzahl: 1)
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 ( ![]()
Code:
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.
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; 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! |
Re: String mit AES verschlüsseln
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.
|
Re: String mit AES verschlüsseln
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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 by Thomas Breitkreuz