Как портировать JS subtle.importKey / subtle.sign на PHP? Есть следующий код на JS:var utf8Encoder = new TextEncoder('utf-8'); var hmacKey = utf8Encoder.encode('Very_secret_key!'); var data = utf8Encoder.encode('Just simple test string'); window.crypto.subtle.importKey( 'raw', hmacKey, { name: 'HMAC', hash: { name: 'SHA-256' } }, false, [ 'sign', 'verify' ] ) .then(key => { window.crypto.subtle.sign('HMAC', key, data).then(signature => { console.log(new Uint8Array(signature)); }) }); Требуется воплотить тот же алгоритм генерации ключа и подписания сообщения на PHP. Насколько я понимаю, в качестве подписи можно использовать hash_hmac(...), но вот с генерацией ключа вообще непонятки. Может кто намекнет куда копать?
В этом примере мы используем функцию hash_hmac для вычисления HMAC подписи с алгоритмом SHA-256. Переменная $signature будет содержать подпись в бинарном формате, который может быть преобразован в строку с помощью функции bin2hex.
Таким образом, вы можете использовать данный PHP код для генерации ключа и вычисления подписи, аналогично тому, как это делается в вашем JS коде.
Для портирования данного кода на PHP, вам потребуется использовать функцию hash_hmac для генерации ключа HMAC и вычисления подписи.
Вот пример PHP кода, который соответствует вашему JS коду:
<?php$key = 'Very_secret_key!';
$data = 'Just simple test string';
// Генерация ключа HMAC
$hmacKey = utf8_encode($key);
// Вычисление подписи
$signature = hash_hmac('sha256', $data, $hmacKey, true);
// Вывод подписи в виде строки
echo bin2hex($signature);
?>
В этом примере мы используем функцию hash_hmac для вычисления HMAC подписи с алгоритмом SHA-256. Переменная $signature будет содержать подпись в бинарном формате, который может быть преобразован в строку с помощью функции bin2hex.
Таким образом, вы можете использовать данный PHP код для генерации ключа и вычисления подписи, аналогично тому, как это делается в вашем JS коде.