J'ai une chaîne cryptée qui a été cryptée avec Perl Crypt :: CBC (Rijndael, cbc). Le texte en clair original a été chiffré avec la méthode encrypt_hex() de Crypt :: CBC.Cryptage avec Perl CBC et décryptage avec PHP mcrypt
$encrypted_string = '52616e646f6d49567b2c89810ceddbe8d182c23ba5f6562a418e318b803a370ea25a6a8cbfe82bc6362f790821dce8441a790a7d25d3d9ea29f86e6685d0796d';
J'ai la clé de 32 caractères qui a été utilisée. Mcrypt est compilé avec succès en PHP, mais j'ai du mal à décrypter la chaîne en PHP. Je continue à avoir du charabia.
Si je déballe ('H *', $ encrypted_string), je vois 'RandomIV' suivi de ce qui ressemble à binaire.
Je n'arrive pas à extraire correctement le message IV et à séparer le message chiffré réel. Je sais que je ne fournis pas mes informations, mais je ne sais pas par où commencer.
$cipher = 'rijndael-256';
$cipher_mode = 'cbc';
$td = mcrypt_module_open($cipher, '', $cipher_mode, '');
$key = '32 characters'; // Does this need to converted to something else before being passed?
$iv = ?? // Not sure how to extract this from $encrypted_string.
$token = ?? // Should be a sub-string of $encrypted_string, correct?
mcrypt_generic_init($td, $key, $iv);
$clear = rtrim(mdecrypt_generic($td, $token), '');
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
echo $clear;
Toute aide, pointeurs dans la bonne direction, serait grandement appréciée. Faites-moi savoir si je dois fournir plus d'informations.