OpenCart 🇺🇦

Схема

public mixed decrypt ( $msg,$k,$base64 = false )

Аргументы

Аргумент Возможный тип Описание
$msg
$k
$base64 = false

Описание

Метод пока еще не документирован.

Исходный код

if ( $base64 ) { $msg = base64_decode($msg); }

if ( ! $td = mcrypt_module_open('rijndael-256', '', 'ctr', '') ) {
	$this->log('decrypt() - Failed to open cipher');
	return false;
}

$iv  = substr($msg, 0, 32);
$mo  = strlen($msg) - 32;
$em  = substr($msg, $mo);
$msg = substr($msg, 32, strlen($msg)-64);
$mac = $this->pbkdf2($iv . $msg, $k, 1000, 32);

if ( $em !== $mac ) {
	$this->log('decrypt() - Mac authenticate failed');
	return false;
}

if ( mcrypt_generic_init($td, $k, $iv) !== 0 ) {
	$this->log('decrypt() - Buffer init failed');
	return false;
}

$msg = mdecrypt_generic($td, $msg);
$msg = unserialize($msg);

mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $msg;