hashNode

JavaScript, Node, Promise

Creates a hash for a value using the SHA-256 algorithm. Returns a promise.

  • Use crypto.createHash() to create a Hash object with the appropriate algorithm.
  • Use hash.update() to add the data from val to the Hash, hash.digest() to calculate the digest of the data.
  • Use setTimeout() to prevent blocking on a long operation. Return a Promise to give it a familiar interface.
const crypto = require('crypto');

const hashNode = val =>
  new Promise(resolve =>
    setTimeout(
      () => resolve(crypto.createHash('sha256').update(val).digest('hex')),
      0
    )
  );
hashNode(JSON.stringify({ a: 'a', b: [1, 2, 3, 4], foo: { c: 'bar' } })).then(
  console.log
);
// '04aa106279f5977f59f9067fa9712afc4aedc6f5862a8defc34552d8c7206393'

Recommended snippets

  • hashBrowser

    JavaScript, Browser

    Creates a hash for a value using the SHA-256 algorithm. Returns a promise.

  • btoa

    JavaScript, Node

    Creates a base-64 encoded ASCII string from a String object in which each character in the string is treated as a byte of binary data.

  • atob

    JavaScript, Node

    Decodes a string of data which has been encoded using base-64 encoding.