lithium\storage\session\strategy\Encrypt::_decrypt()
Decrypt and unserialize a previously encrypted string.
Parameters
-
string
$encrypted
The base64 encoded and encrypted string.
Returns
arrayThe cleartext data.
Source
protected function _decrypt($encrypted) {
$secret = $this->_hashSecret($this->_config['secret']);
$vectorSize = strlen(base64_encode(str_repeat(' ', $this->_vectorSize())));
$vector = base64_decode(substr($encrypted, -$vectorSize));
$data = base64_decode(substr($encrypted, 0, -$vectorSize));
$decrypted = openssl_decrypt(
$data,
'aes-256-cbc',
$secret,
OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING,
$vector
);
return unserialize(trim($decrypted));
}