Encryption in nodejs

三世轮回 提交于 2019-12-05 17:44:27

问题


I'm trying to port the following php code to javascript on node.js:

$mac = hash_hmac('SHA256', 'string', 'secret', true);
$coded = base64_encode($mac);

I've tried the following:

var Crypto = require('crypto');
var code = Crypto.util.bytesToBase64(Crypto.HMAC(Crypto.SHA256, 'string', 'secret', { asBytes: true }));

I get the error:

TypeError: Object #Object has no method 'HMAC'

I'm new to node.js, what am I doing wrong?

Update:

var code = Crypto.createHmac('SHA256', secret_key).update(to_encode).digest('base64');


回答1:


You want to use the createHmac function instead.

Crypto.createHmac("SHA256", 'secret').update('string').digest('base64')



回答2:


The method is called 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] }


来源:https://stackoverflow.com/questions/9165613/encryption-in-nodejs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!