Есть следующий код на 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(...), но вот с генерацией ключа вообще непонятки.
Может кто намекнет куда копать?