Convert PHP hash_hmac(sha512) to NodeJS

hash, hmac, javascript, node.js

Solution

Yes, use the crypto library.

var hash = crypto.createHmac('sha512', key);
hash.update(text);
var hashed_data = hash.digest();

More details (e.g. arguments to digest to control the output encoding from `hash.digest`) are at the link you provided.

As Nick points out, you will need to do this entire process each time you want to encrypt a new string (i.e. create a new `hash` object via `crypto.createHmac`.)

Problem

I am porting a php script to node, and I don't know much about encryption. The php script uses this function: ``` hash_hmac('sha512', text, key); ``` So, I need to implement a function in Node js for returning a keyed hash using the hmac method (SHA512). From what I can see, node has this functionality built in via the crypto module (http://nodejs.org/docs/latest/api/crypto.html#crypto_crypto) -- But I unclear how to reproduce this function. Any help would be appreciated. Thanks,

Original source