Пожалуйста помогите решить проблему, знаю что есть уже такие темы но в них я не нашел ответа на свой вопрос.
Мне нужно сгенерировать цифровую подпись, и вк даёт на пример кода который не работает
Пример$sign = "";
foreach ($request->getParams() as $key => $param) {
if ($key == 'hash' || $key == 'sign') continue;
$sign .=$param;
}
$secret = 'SECRET_KEY';
$sig = $secret ? hash_hmac('sha256', $sign, $secret) : "";
Но к сожалению php не знает что за функция getParams() и $request null
Ошибка: Fatal error: Uncaught Error: Call to a member function getParams() on null in index.php:4 Stack trace: #0 {main} thrown in index.php on line 4
Порывшись в инете я не фига нормального не нашел кроме этого кода
$url = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$parsed_url = parse_url($url, PHP_URL_QUERY);
parse_str($parsed_url,$request);
$sign = "";
foreach ($request as $key => $param) {
if ($key == 'hash' || $key == 'sign') continue;
$sign .=$param;
}
$secret = 'Защищенный_Ключ';
$sig = $secret ? hash_hmac('sha256', $sign, $secret) : "";
$result = ($sig === $_GET['sign']) ? "Сходятся" : "Не сходятся";
Человек который сделал его у него получилось но он оказался опять же не рабочий или он его скинул не весь, так как $_GET['sign'] имеет null и не передаётся вк по этому я решил проверять с $sign но там код который содержит 326 символов, а ключ который генерируется в $sig он 64 символов.
Прошу помогите это решить, пожалуйста дайте рабочий код который сгенерирует мне правильный код для проверки цифровой подписи.