Thema: Delphi Probleme mit DCPcrypt

Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#23

AW: Probleme mit DCPcrypt

  Alt 28. Mai 2018, 11:07
Delphi-Quellcode:
key := 'Super Geheim';
IV := 'DLX';
Es sind AnsiStrings, trag da ein was auch immer Du magst.

Ps:
Alternativ kannst Du es auch so machen:
function DecryptText(const Key, IV: AnsiString):String; Und Du rufst die Funktion mit entsprechenden Parameter auf.
Allerdings muß man sich im klaren sein, daß dann der Algorithmus von der Stringlänge abhängt. Für Längen <=16 wird AES-128 verwendet, für Längen <= 24 dann AES-192 und sonst AES-256. Selbstverständlich darf dann auch nicht mit Cipher.Init(Key[1],128,@IV[1]); ohne Crash-Gefahr initilisiert werden. Ein IV muss 16 Bytes sein, da init einen Pointer verlangt, müssen mindestes 16 Bytes vorhanden. Ein IV := 'DLX' könnte dann crashen.
Ich hab die beiden funktionen nun so gemacht:
...
Delphi-Quellcode:
    Cipher.DecryptCBC(Data[1],Data[1],Length(Data));
          pad := 16- ord(Data[length(Data)]);
      for index :=1 to pad do delete(Data,length(Data),1);
Außer dem trim wie von Kodezwerg bemerkt, ändere das ab zu
Delphi-Quellcode:
    Cipher.DecryptCBC(Data[1],Data[1],Length(Data));
    pad := ord(Data[length(Data)]);
    for index :=1 to pad do delete(Data,length(Data),1);
Der vorliegende Code verwendet also keinen 256-Bit-Schüssel sonder 'nur' 128 Bit.

Geändert von gammatester (28. Mai 2018 um 11:29 Uhr)
  Mit Zitat antworten Zitat