Sha256: c1012e0409c914f43381ade151ba269dff574101957b61c7ac9ac2d6416c4abb

Contents?: true

Size: 969 Bytes

Versions: 36

Compression:

Stored size: 969 Bytes

Contents

var Buffer = require('buffer').Buffer;
var intSize = 4;
var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
var chrsz = 8;

function toArray(buf, bigEndian) {
  if ((buf.length % intSize) !== 0) {
    var len = buf.length + (intSize - (buf.length % intSize));
    buf = Buffer.concat([buf, zeroBuffer], len);
  }

  var arr = [];
  var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
  for (var i = 0; i < buf.length; i += intSize) {
    arr.push(fn.call(buf, i));
  }
  return arr;
}

function toBuffer(arr, size, bigEndian) {
  var buf = new Buffer(size);
  var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
  for (var i = 0; i < arr.length; i++) {
    fn.call(buf, arr[i], i * 4, true);
  }
  return buf;
}

function hash(buf, fn, hashSize, bigEndian) {
  if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
  var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
  return toBuffer(arr, hashSize, bigEndian);
}

module.exports = { hash: hash };

Version data entries

36 entries across 36 versions & 2 rubygems

Version Path
sumomo-0.10.8 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.10.4 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.10.3 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.10.2 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.10.1 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.10.0 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.9.0 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.22 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.21 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.20 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.17 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.16 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.15 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.14 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.13 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.12 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.11 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.10 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.9 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js
sumomo-0.8.8 data/sumomo/api_modules/node_modules/crypto-browserify/helpers.js