first commit
This commit is contained in:
30
build/node_modules/create-hash/make-hash.js
generated
vendored
Normal file
30
build/node_modules/create-hash/make-hash.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
'use strict'
|
||||
var intSize = 4
|
||||
var zeroBuffer = new Buffer(intSize)
|
||||
zeroBuffer.fill(0)
|
||||
|
||||
var charSize = 8
|
||||
var hashSize = 16
|
||||
|
||||
function toArray (buf) {
|
||||
if ((buf.length % intSize) !== 0) {
|
||||
var len = buf.length + (intSize - (buf.length % intSize))
|
||||
buf = Buffer.concat([buf, zeroBuffer], len)
|
||||
}
|
||||
|
||||
var arr = new Array(buf.length >>> 2)
|
||||
for (var i = 0, j = 0; i < buf.length; i += intSize, j++) {
|
||||
arr[j] = buf.readInt32LE(i)
|
||||
}
|
||||
|
||||
return arr
|
||||
}
|
||||
|
||||
module.exports = function hash (buf, fn) {
|
||||
var arr = fn(toArray(buf), buf.length * charSize)
|
||||
buf = new Buffer(hashSize)
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
buf.writeInt32LE(arr[i], i << 2, true)
|
||||
}
|
||||
return buf
|
||||
}
|
||||
Reference in New Issue
Block a user