Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mycrypt zu DEC (https://www.delphipraxis.net/138661-mycrypt-zu-dec.html)

magoo2002de 14. Aug 2009 11:18


mycrypt zu DEC
 
Hallo!
ich habe da mal wieder ein Problem. Ja ich weiß schon wieder ;)
Und zwar habe ich folgenden PHP-Code:
Code:
define("KEY1","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("KEY2","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("KEY3","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("KEY4","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("IV1","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("IV2","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("IV3","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("IV4","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
define("ID1","2.0");
define("ID2","2.1");
define("ID3","2.2");
define("ID4","2.3");

function decrypt($data){
   $plainKeys=array(KEY1,KEY2,KEY3,KEY4);
   $plainIVs=array(IV1,IV2,IV3,IV4);
   $versionIDs=array(ID1,ID2,ID3,ID4);
   $block=MCRYPT_RIJNDAEL_128;
   $mode=MCRYPT_MODE_CBC;
   $i=0;
   $xml="";
   while($i<count($plainKeys)){
   
      $crypter = mcrypt_module_open($block, '', $mode, '');
      @mcrypt_generic_init($crypter, base16Decode($plainKeys[$i]),base16Decode($plainIVs[$i]));
      $decoded = filterString(mdecrypt_generic($crypter, $data));  
      mcrypt_generic_deinit($crypter);
      mcrypt_module_close($crypter);   
      if(strpos(strtolower($decoded), "<item>")>0){
         $xml=trim($decoded);         
         break;
      }
      $i++;
   }
Diesen Code möchte ich nun in meinem Delphi-Programm nutzen.
Da ich noch nicht so oft mit DEC gearbeitet habe, habe ich damit ein Problem den Code zu portieren.
Das mit den Arrays und so ist ja kein Problem, allerdings das decrypten bereitet Probleme.
Das habe ich soweit:
Delphi-Quellcode:
with TCipher_Rijndael.Create do
try
  Mode := cmCBCx;
  Init(KEY1,128,IV1,16,$FF);
  PlainText := DecodeBinary(CryptedText, nil);
finally
  Free;
end;
Leider funktioniert das nicht und hoffe, dass mir jemand helfen kann.
Vielen Dank schon einmal :)


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