У меня есть зашифрованный бит текста, который мне нужно расшифровать. Он зашифрован с помощью AES-256-CBC. У меня есть зашифрованный текст, ключ и iv. Однако, что бы я ни пытался, я просто не могу заставить его работать.
Интернет предположил, что шифр Rijndael от mcrypt должен быть в состоянии сделать это, поэтому вот что я имею сейчас:
function decrypt_data($data, $iv, $key) {
$cypher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
// initialize encryption handle
if (mcrypt_generic_init($cypher, $key, $iv) != -1) {
// decrypt
$decrypted = mdecrypt_generic($cypher, $data);
// clean up
mcrypt_generic_deinit($cypher);
mcrypt_module_close($cypher);
return $decrypted;
}
return false;
}
В нынешнем виде я получаю 2 предупреждения, а на выходе - бред:
Warning: mcrypt_generic_init() [function.mcrypt-generic-init]: Key size too large; supplied length: 64, max: 32 in /var/www/includes/function.decrypt_data.php on line 8
Warning: mcrypt_generic_init() [function.mcrypt-generic-init]: Iv size incorrect; supplied length: 32, needed: 16 in /var/www/includes/function.decrypt_data.php on line 8
Любая помощь будет оценена.