Einzelnen Beitrag anzeigen

Tommy99

Registriert seit: 13. Feb 2007
Ort: Laupheim
24 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Verschlüsseln des Datenbankinhalts

  Alt 11. Dez 2010, 13:34
Datenbank: Firebird • Version: 2.0.5 • Zugriff über: DBExpress
Hallo zusammen,

versuche zur Zeit den Inhalt meiner Datenbank (Firebird über DBExpress) zu verschlüsseln.


Das Verschlüsseln an sich funktioniert bereits.

Beim "DataSetProvider" greife ich über das Ereignis "BeforeUpdateRecord" ein und
bin dann in der Lage sämtliche unverschlüsselte Inhalte vor dem Schreiben in die Datenbank mit einem
Algorithmus zu verschlüsseln.

Code:

procedure TForm.DataSetProviderBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind;
var Applied: Boolean);
begin

if not VarIsEmpty(DeltaDS.FieldByName('Feld1').NewValue) then
begin
==> Verschlüsseln
end;



Nun bin ich auf der Suche nach einem Ereignis auf Basis dessen ich die
Daten anschließend nach dem Laden wieder entschlüsseln kann.

Theoretisch könnte das mit dem Ereignis "AfterOpen" im "ClientDataSet" funktionieren.

Hier habe ich allerdings dann das Problem, dass sämtliche Felder, die ich entschlüssle anschließend in der
Delta Datenmenge als geändert aufgeführt werden und dann später beim Update die Variable "NewValue" wieder gefüllt ist.

Dies wiederum erhöht die Laufzeit beim Updateprozess.

Vielleicht hat jemand eine bessere Idee, wie ich den Inhalt meiner Datenbank halbwegs sicher verschlüsseln kann.

Danke im voraus
Thomas
  Mit Zitat antworten Zitat