Я пытаюсь перенести следующий PHP-код в javascript на node.js:
$mac = hash_hmac('SHA256', 'string', 'secret', true);
$coded = base64_encode($mac);
Я пробовал следующее:
var Crypto = require('crypto');
var code = Crypto.util.bytesToBase64(Crypto.HMAC(Crypto.SHA256, 'string', 'secret', { asBytes: true }));
Я получаю сообщение об ошибке:
TypeError: Объект # Объект не имеет метода 'HMAC'
Я новичок в node.js, что я делаю неправильно?
Обновить:
var code = Crypto.createHmac ('SHA256', secret_key) .update (to_encode) .digest ('base64');
createHmac
этого вы хотите использовать функцию createHmac
.
Crypto.createHmac("SHA256", 'secret').update('string').digest('base64')
Метод называется createHmac
> Crypto = require('crypto'); { Credentials: [Function: Credentials], createCredentials: [Function], Hash: [Function], createHash: [Function], Hmac: [Function], createHmac: [Function], Cipher: [Function], createCipher: [Function], createCipheriv: [Function], Decipher: [Function], createDecipher: [Function], createDecipheriv: [Function], Sign: [Function], createSign: [Function], Verify: [Function], createVerify: [Function], DiffieHellman: [Function], createDiffieHellman: [Function], pbkdf2: [Function], randomBytes: [Function], pseudoRandomBytes: [Function], rng: [Function], prng: [Function] }