Einzelnen Beitrag anzeigen

amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#1

Lockbox 3: Daten verschlüsseln und in PHP entschlüsseln

  Alt 31. Jan 2013, 11:30
Hallo,

ich hoffe hier benutzt jemand Lockbox 3 zur Datenverschlüsselung und kann mir bei meinem Problem weiterhelfen.
Ich möchte Daten in AES und CBC Mode verschlüsseln und dann mit der PHP Funktion mcrypt_cbc() wieder entschlüsseln.

Das ist die Lockbox Komponente:

Delphi-Quellcode:
object Codec1: TCodec
    AsymetricKeySizeInBits = 1024
    AdvancedOptions2 = []
    CryptoLibrary = CryptographicLibrary1
    Left = 496
    Top = 40
    StreamCipherId = 'native.StreamToBlock'
    BlockCipherId = 'native.AES-192'
    ChainId = 'native.CBC'
  end
  object CryptographicLibrary1: TCryptographicLibrary
    Left = 568
    Top = 40
  end
Beim Klick auf eine Schltfläche soll eine Zeichenkette mit einem Passwort verschlüsselt werden.

Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
var
  base64Ciphertext : AnsiString;
  plaintext: String;
begin
  plaintext := 'LockBox3Test';
  
  Codec1.Cipher := 'native.AES-128'

  Codec1.Password := 'MeinPasswort123';
  Codec1.EncryptString( plaintext, base64Ciphertext);
  boxCipherTextOut.Text := base64Ciphertext;

end;
Ich erhalte z.B. die Base64kodierte zeichenkette: yMvS0IobfNR179gFFvyOE5+/cvm1bo1q+JfZ9WnFRtA=
Diese soll in den ersten 8 Bytes (Zeichen) den Initialisierungsvektor IV beinhalten. In Lockbox wird dieser aus Sicherheitsgründen ja zufällig erzeugt.

Mein PHP Skript sieht jetzt folgendermaßen aus:

Delphi-Quellcode:
<?php
  $pwd = 'MeinPasswort123';
  $cipherText = 'yMvS0IobfNR179gFFvyOE5+/cvm1bo1q+JfZ9WnFRtA=';
  $iv = substr ( $cipherText, 0, 8 );
  
  $encryptedcbc = mcrypt_cbc(MCRYPT_RIJNDAEL_128, $pwd, $cipherText, MCRYPT_DECRYPT, $iv);
  echo 'CBC encrypted: '.base64_encode($encryptedcbc);
?>
Leider erhalte ich nicht die ursprüngliche Zeichenkette.
Was mache ich falsch? Habe ich beim Auslesen des IV einen Denkfehler?

Besten Dank für jede Unterstützung.
  Mit Zitat antworten Zitat