在nodejs中encryption
我试图将以下php代码移植到node.js上的javascript:
$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:Object #Object没有方法'HMAC'
我是新来的node.js,我做错了什么?
更新:
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] }