HMAC является стандартом. Так же как и SHA-256. Таким образом, их результаты, независимо от того, какая реализация, должна быть одинаковыми.
В кодировке Base64 могут быть только различия. Обычно не алфавитно-цифровыми символами являются +
и /
, но вы не можете рассчитывать на это. Я проверил, и обе реализации используют одинаковые не буквенно-цифровые символы.
Однако вы все равно должны «вручную» проверить несколько тысяч строк. Реализация в PHP хорошо протестирована. Но я не знаю, верно ли то же самое для реализации в jQuery ...
Синтаксис для кодированного вывода Base64:
Crypto.util.bytesToBase64(
Crypto.HMAC(Crypto.SHA256, sign, accessKey, { asBytes: true })
);