|                                    |  | var Buffer = require('buffer').Buffer;var intSize = 4;var zeroBuffer = Buffer.alloc(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 = Buffer.alloc(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 = Buffer.from(buf);  var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);  return toBuffer(arr, hashSize, bigEndian);}
module.exports = { hash: hash };
 |