xxhash v0.3.0
Description
An xxhash binding for node.js.
Requirements
- node.js -- v4.0.0 or newer
Install
npm install xxhashExamples
- Hash a file in one step:
var XXHash = require('xxhash');
var fs = require('fs');
var file = fs.readFileSync('somefile');
var result = XXHash.hash(file, 0xCAFEBABE);- Hash a file in multiple steps:
var XXHash = require('xxhash');
var fs = require('fs');
var hasher = new XXHash(0xCAFEBABE);
fs.createReadStream('somefile')
.on('data', function(data) {
hasher.update(data);
})
.on('end', function() {
console.log('Hash value = ' + hasher.digest());
});- Hash a file with a hash stream:
var HashStream = require('xxhash').Stream;
var fs = require('fs');
var hasher = new HashStream(0xCAFEBABE);
fs.createReadStream('somefile')
.pipe(hasher)
.on('finish', function() {
console.log('Hash value = ' + hasher.read());
});API
XXHash Static Methods
hash(< Buffer >data, < mixed >seed, < mixed >encbuf) - mixed - Performs a single/one-time 32-bit hash of
datawith the givenseed.seedcan be an unsigned integer or a Buffer containing (1 <= n <= 4) bytes to use for the seed. The resulting hash is returned. The format of the hash depends on the value ofencbuf. Ifencbufis a string and one of:buffer,hex,base64, orbinary, then the hash value will be encoded in the appropriate format. Ifencbufis a Buffer of at least 4 bytes, then the hash value will be written toencbufandencbufwill be returned. Otherwise, ifencbufis not supplied, then the hash will be an unsigned integer.hash64(< Buffer >data, < mixed >seed, < mixed >encbuf) - mixed - Performs a single/one-time 64-bit hash of
datawith the givenseed.seedcan be an unsigned integer or a Buffer containing (1 <= n <= 8) bytes to use for the seed. The resulting hash is returned. The format of the hash depends on the value ofencbuf. Ifencbufis a string and one of:buffer,hex,base64, orbinary, then the hash value will be encoded in the appropriate format. Ifencbufis a Buffer of at least 8 bytes, then the hash value will be written toencbufandencbufwill be returned. The default value forencbufis'buffer'.
XXHash Static Properties
Stream(< mixed >seed, < integer >bits) - DuplexStream - A stream constructor that takes in the
seedto use. Write data to the stream and when the stream ends, abits-bit (32 or 64) hash value (format determined byencbuf) is available on the readable side. The values forseedandencbufare described above inhash().XXHash64(< mixed >seed) - This is the 64-bit Hash constructor. It is only needed if you want to use the old streaming interface (
update()/digest()) instead of the streams2 interface described above.
XXHash Methods
(constructor)(< mixed >seed) - Creates and returns a new 32-bit Hash instance with the given
seed. The values forseedare described above inhash().update(< Buffer >data) - (void) - Update the hash using
data.digest(< mixed >encbuf) - mixed - The values for
encbufand the resulting hash value format is described inhash().