xxhash

    0.3.0 • Public • Published

    Description

    An xxhash binding for node.js.

    Build Status Build status

    Requirements

    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 data with the given seed. seed can 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 of encbuf. If encbuf is a string and one of: buffer, hex, base64, or binary, then the hash value will be encoded in the appropriate format. If encbuf is a Buffer of at least 4 bytes, then the hash value will be written to encbuf and encbuf will be returned. Otherwise, if encbuf is 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 data with the given seed. seed can 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 of encbuf. If encbuf is a string and one of: buffer, hex, base64, or binary, then the hash value will be encoded in the appropriate format. If encbuf is a Buffer of at least 8 bytes, then the hash value will be written to encbuf and encbuf will be returned. The default value for encbuf is 'buffer'.

    XXHash Static Properties

    • Stream(< mixed >seed[, < integer >bits][, < mixed >encbuf]) - DuplexStream - A stream constructor that takes in the seed to use. Write data to the stream and when the stream ends, a bits-bit (32 or 64) hash value (format determined by encbuf) is available on the readable side. The values for seed and encbuf are described above in hash().

    • 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 for seed are described above in hash().

    • update(< Buffer >data) - (void) - Update the hash using data.

    • digest([< mixed >encbuf]) - mixed - The values for encbuf and the resulting hash value format is described in hash().

    Install

    npm i xxhash

    DownloadsWeekly Downloads

    11,601

    Version

    0.3.0

    License

    none

    Unpacked Size

    165 kB

    Total Files

    36

    Last publish

    Collaborators

    • mscdex