Need private packages and team management tools?Check out npm Teams »

sri-calc

1.0.5 • Public • Published

sri-calc

Build Status

A simple module to generate SRI hashes of files, whcih then can be used to implement sub-resource integrity.

This module was inspired by odino/node-sri but it operates differently:

  • it does not require Linux environment;
  • it uses NodeJS Crypto API instead of launching an external process to calculate a digest

Installation

npm install --save sri-calc

Usage

Using the module is pretty straightforward, as you can use it both with callbacks:

const sri = require('sri-calc');
 
sri.hash('/path/to/my/file.js', (err, hash) => {
  if (err) {
    throw err;
  }
 
  console.log('The hash is', hash);
});

and with promises:

const sri = require('sri-calc');
 
sri.hash('/path/to/my/file.js')
  .then(hash => console.log('The hash is', hash))
  .catch(err => console.log(err))
;

Options

The first parameter of sri.hash() can either be a name of the file to process, or an object with the following configuration options:

  • hash: digest to use, the default value is sha256. In theory you can use any digest supported by crypto.createHash, but the specification allows only for sha256, sha384, and sha512.
  • prefix: if true (default), the name of the digest algorithm will be prepended to the digest value, i.e., sha512-z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==.
  • file: name of the file to process
sri.hash({file: '/path/to/my/file.js', algo: 'sha512', prefix: false}) // z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==

Tests

Have mocha installed and run npm test

Install

npm i sri-calc

DownloadsWeekly Downloads

47

Version

1.0.5

License

MIT

Unpacked Size

8.53 kB

Total Files

7

Last publish

Collaborators

  • avatar