OpenCart 🇺🇦

Схема

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

Аргументы

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

Описание

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

Исходный код

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

if (!$td = mcrypt_module_open('rijndael-256', '', 'ctr', '')) {
	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) {
	return false;
}

if (mcrypt_generic_init($td, $k, $iv) !== 0) {
	return false;
}

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

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

return $msg;