Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mit Delphi verschlüsseln / PHP entschlüsseln (https://www.delphipraxis.net/144275-mit-delphi-verschluesseln-php-entschluesseln.html)

Hedge 3. Dez 2009 23:09


Mit Delphi verschlüsseln / PHP entschlüsseln
 
Versuche mit Rijndael (unter Zuhilfenahme von DEC) etwas zu verschlüsseln und mit PHP wieder zu entschlüsseln:

Hier der Delphi-Teil:

Delphi-Quellcode:
  with TCipher_Rijndael.Create do
  try
    Mode := cmCBCx;
    Init(TFormat_MIME64.Decode('lala'));
    SendDebug(EncodeBinary('hallo schatz', TFormat_MIME64));
  finally
    Free;
  end;
Im Debugfenster steht dann:

wDqs4CMiGUUo7mWx

Das wollte ich mit folgendem PHP-Script entschlüsseln:

Code:
<?php
function mc_decrypt($decrypt, $mc_key) {
   $decoded = base64_decode($decrypt);
   $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_RAND);
   $decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $mc_key, trim($decoded), MCRYPT_MODE_CBC, $iv));
   return $decrypted;
}

echo mc_decrypt('wDqs4CMiGUUo7mWx','lala')
?>
Bei jeder Ausführung des PHP-Scripts erscheint eine andere Lösung.
Kann Jemand sagen was ich falsch mache?

omata 3. Dez 2009 23:11

Re: Mit Delphi verschlüsseln / PHP entschlüsseln
 
Fehlt eventuell der Salt?

Hedge 3. Dez 2009 23:21

Re: Mit Delphi verschlüsseln / PHP entschlüsseln
 
Wie kann man den mit DEC miteinbeziehen?

negaH 4. Dez 2009 07:21

Re: Mit Delphi verschlüsseln / PHP entschlüsseln
 
im PHP übergibst du den Schlüsel "lala" direkt dem DEC aber als MIME64 String.

Gruß Hagen

Hedge 4. Dez 2009 08:01

Re: Mit Delphi verschlüsseln / PHP entschlüsseln
 
Danke für den Tipp.
Leider ist das allein nicht des Rätsels Lösung.

Ich versteh nicht ganz was in PHP der initialization vector (IV) bewirkt, der ja zufällig bestimmt wird und deswegen wahrscheinlich auch stets zu einem anderen Entschlüsselungsergebnis führt.

EDIT: Welchen Rijndael benutzt denn DEC? Bin jetzt mal von 256 ausgegangen

EDIT2: Beim DCPCrypt wird sogar ein Beispiel wie man es mit PHP verbindet mitgeliefert (http://www.cityinthesky.co.uk/cryptography.html), aber es funktioniert nicht korrekt unter D2009 :/


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