lithium\storage\session\strategy\Encrypt::__construct()
Constructor.
Parameters
-
array
$config
Configuration array.
Returns
voidSource
public function __construct(array $config = []) {
if (!isset($config['secret'])) {
throw new ConfigException('Encrypt strategy requires a secret key.');
}
if ($this->_mcrypt = $this->_mcrypt($config)) {
if (!extension_loaded('mcrypt')) {
throw new ConfigException('The mcrypt extension is not installed or enabled.');
}
parent::__construct($config + $this->_defaults + [
'cipher' => MCRYPT_RIJNDAEL_128,
'mode' => MCRYPT_MODE_CBC
]);
$this->_mcryptResource = mcrypt_module_open(
$this->_config['cipher'], '', $this->_config['mode'], ''
);
} else {
if (!extension_loaded('openssl')) {
throw new ConfigException('The `openssl` extension is not installed or enabled.');
}
parent::__construct($config + $this->_defaults);
}
}