public function Mcrypt::decrypt in AES encryption 8.2
Recover previously scrambled string.
Overrides AESPluginBase::decrypt
File
- src/
Plugin/ AES/ Mcrypt.php, line 78
Class
- Mcrypt
- Mcrypt plugin implementation
Namespace
Drupal\aes\Plugin\AESCode
public function decrypt($data, $key = FALSE, $cipher = FALSE) {
$config = FileStorageFactory::getActive()
->read('aes.settings');
$iv = base64_decode($config['mcrypt_iv']);
if (!$key) {
$key = $config['key'];
}
if (!$cipher) {
$cipher = $config['cipher'];
}
$td = mcrypt_module_open($cipher, '', MCRYPT_MODE_CBC, '');
$ks = mcrypt_enc_get_key_size($td);
if (empty($iv)) {
\Drupal::logger('aes')
->error('No initialization vector found while trying to decrypt with mcrypt. Aborting!');
return FALSE;
}
$key = substr(sha1($key), 0, $ks);
mcrypt_generic_init($td, $key, $iv);
$decrypted = mdecrypt_generic($td, $data);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim($decrypted);
}