Мне предоставили несколько строк JavaScript, которые мне нужно преобразовать в эквивалент PHP. Не будучи разработчиком JavaScript, я борюсь с этим. Вот образец JavaScript, который мне предоставили:
const crypto = require('crypto')
const secret_in_hex = Buffer.from(secret, 'hex');
const hash = crypto.createHmac('sha512', secret_in_hex)
.update(body)
.digest('hex')
// Compare hash with the received X-Onfleet-Signature in raw bytes
docs для API, с которым я работаю для настройки приемника Webhook в PHP, упоминание:
Each webhook request contains a signature from Onfleet in X-Onfleet-Signature header. To authenticate the webhook request received on your webhook server, you will need to validate against this header. To validate against X-Onfleet-Signature, you will need to compare its value with an HMAC you have generated using the hexadecimal format of your webhook secrets and the full body of the webhook POST request in raw bytes.
Я предполагаю, что буду использовать функцию hash_hmac
и, возможно, функцию bin2hex
, но на этом этапе полностью озадачен и признателен, если кто-нибудь может показать мне PHP эквивалент указанного выше JavaScript (при условии, что он есть).