Einzelnen Beitrag anzeigen

gabneo

Registriert seit: 15. Okt 2006
Ort: Deutsche Toskana :)
93 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

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

  Alt 1. Sep 2014, 15:55
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.

Geändert von gabneo ( 1. Sep 2014 um 16:00 Uhr)
  Mit Zitat antworten Zitat