Nine Parsecs from Milwaukee

    sri-calc

    1.0.11 • Public • Published

    sri-calc

    Build and Test

    sri-calc is a simple module to generate SRI hashes of files, which 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 a 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

    73

    Version

    1.0.11

    License

    MIT

    Unpacked Size

    13.6 kB

    Total Files

    10

    Last publish

    Collaborators

    • wwa