Node/Crypto

From Fundamental Ramen
Jump to navigation Jump to search

HmacSHA256 with crypto & crypto-js

function myHashA(payload) {
  const crypto = require("crypto");
  const secret = "0123456789abcdef";
  const secretBin = Buffer.from(secret, "hex");
  return crypto.createHmac("sha256", secretBin)
    .update(JSON.stringify(payload))
    .digest()
    .toString("hex");
}

function myHashB(payload) {
  const CryptoJS = require("crypto-js");
  const secret = "0123456789abcdef";
  const secretBin = CryptoJS.enc.Hex.parse(secret);
  return CryptoJS.HmacSHA256(JSON.stringify(payload), secretBin)
    .toString(CryptoJS.enc.Hex);
}

console.log(myHashA("fuck"));
console.log(myHashB("fuck"));