Ответ 1
Вместо этого вы хотите использовать функцию createHmac
.
Crypto.createHmac("SHA256", 'secret').update('string').digest('base64')
Я пытаюсь перенести следующий 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, что я делаю неправильно?
Update:
var code = Crypto.createHmac('SHA256', secret_key).update(to_encode).digest('base64');
Вместо этого вы хотите использовать функцию 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] }