Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mit Delphi verschlüsseln (DEC) mit Flash AS3 entschlüsseln (as3crypto) (https://www.delphipraxis.net/181653-mit-delphi-verschluesseln-dec-mit-flash-as3-entschluesseln-as3crypto.html)

gabneo 1. Sep 2014 14:55

Mit Delphi verschlüsseln (DEC) mit Flash AS3 entschlüsseln (as3crypto)
 
Hallo Delphi Gemeinde,

im Web findet man nicht viel über das Thema, daher Frage ich euch mal um Rat.

Aufgabe: Mit meinem Delphiprogramm eine Datei so zu verschlüsseln, dass ich sie mit Flash/AS3 entschlüsseln kann und umgekehrt.

Jeweils mit Delphi und Flash kann ich nach Lust und Laune ver- und entschlüsseln. Jedoch untereinander klappts nicht. Zu allem übel kommt auch noch eine PHP Verschlüsselungs-Seite obendrauf aber alles Schritt für Schritt :)

Problem: Sourcecode von Flash AS3 zu Delphi portieren. -> Möglicherweise stimmt die Formatierung nicht ganz.

AS3 Code (korrekt, so soll er laufen)
Code:
public function dstring(msg:String):String
   {
      _key1 = Hex.toArray(Hex.fromString(p1));
      _cbcKey = Hex.toArray(Hex.fromString(p2));
      var data:ByteArray = Base64.decodeToByteArray(msg);
      var pad:IPad = new NullPad();
      var mode:ICipher = Crypto.getCipher("aes-cbc", _key1, pad);
      var ivmode:IVMode = mode as IVMode;
      ivmode.IV = _cbcKey;
      pad.setBlockSize(mode.getBlockSize());      
      mode.decrypt(data);
      return Hex.toString(Hex.fromArray(data));
   }
Delphi Code -> Er kann es nicht entschlüsseln
Code:
function DecryptString(text, key, IV: AnsiString): AnsiString;
var Cipher: TCipher_Rijndael;
begin
  Cipher := TCipher_Rijndael.Create;
  Cipher.Mode := cmCBCx;
  Cipher.Init(key, IV, $FF);            
  Result := Cipher.DecodeBinary(TFormat_HEX.Encode(text), TFormat_MIME64);//TFormat_HEX
  Cipher.Free;
end;
Liegt es vielleicht an dem "Base64.decodeToByteArray(msg);"?
Vielen Dank für eure Anregungen!

PS: Ich mache es erst einmal "Falschherum", da Flash viel unflexibler ist. Also lieber mit Delphi auf Flash eingehen als anders herum. UND wenn ich es erst einmal entschlüsseln kann, dann sollte das verschlüsseln nicht mehr allzu schwierig sein.

gammatester 1. Sep 2014 15:38

AW: Mit Delphi verschlüsseln (DEC) mit Flash AS3 entschlüsseln (as3crypto)
 
Test mal die üblichen Verdächtigen: Im Original hast Du für den IV: ivmode.IV = _cbcKey????; bei DEC 16 Bytes $FF.

Weiter benutzt DEC inkompatible Modi, wenn die Textlänge nicht gleich ein Vielfaches der Blocklänge (=16 Bytes ist).


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 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