node-xxhash
                                
                                 node-xxhash copied to clipboard
                                
                                    node-xxhash copied to clipboard
                            
                            
                            
                        An xxhash binding for node.js
Description
An xxhash binding for node.js.
Requirements
- node.js -- v4.0.0 or newer
Install
npm install xxhash
Examples
- 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][, < mixed >encbuf]) - 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().