J'essaye de décrypter une chaîne en utilisant PHP qui a été crypté en utilisant une bibliothèque Chilkat.PHP mcrypt // Cryptage AES Chilkat - intégration
VB Cryptage:
Dim password As String
password = "foobar"
crypt.CryptAlgorithm = "aes"
crypt.CipherMode = "cbc"
crypt.KeyLength = 128
' Generate a binary secret key from a password string
' of any length. For 128-bit encryption, GenEncodedSecretKey
' generates the MD5 hash of the password and returns it
' in the encoded form requested. The 2nd param can be
' "hex", "base64", "url", "quoted-printable", etc.
Dim hexKey As String
hexKey = crypt.GenEncodedSecretKey(password,"hex")
crypt.SetEncodedKey hexKey,"hex"
crypt.EncodingMode = "base64"
Dim text As String
text = "The quick brown fox jumped over the lazy dog."
' Encrypt a string and return the binary encrypted data
' in a base-64 encoded string.
Dim encText As String
encText = crypt.EncryptStringENC(text)
PHP Décryptage:
$filename = "test.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
// remove newlines, etc
$contents = rtrim($contents);
// remove base64 encoding
$contents = base64_decode($contents);
$key = "foobar";
// make a hex of this key
$key = md5($key);
// notice the iv is NOT set
$crypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $contents, MCRYPT_MODE_CBC);
echo "Decrypted: $crypttext \n";
La sortie est ordures ... des idées? Je ne suis pas sûr exactement quels sont les paramètres par défaut de IV et de Padding que Chilkat utilise, et je ne suis pas sûr de savoir comment émuler ces valeurs par défaut en PHP.
Merci beaucoup à l'avance.