Skip to content
a streaming CRC32 checksumer (now with deflate support)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
appveyor.yml
package.json

README.md

CRC32 Stream Build Status Build status

crc32-stream is a streaming CRC32 checksumer. It uses the crc module behind the scenes to reliably handle binary data and fancy character sets. Data is passed through untouched.

Install

npm install crc32-stream --save

You can also use npm install https://github.com/archiverjs/node-crc32-stream/archive/master.tar.gz to test upcoming versions.

Usage

CRC32Stream

Inherits Transform Stream options and methods.

const {CRC32Stream} = require('crc32-stream');

const source = fs.createReadStream('file.txt');
const checksum = new CRC32Stream();

checksum.on('end', function(err) {
  // do something with checksum.digest() here
});

// either pipe it
source.pipe(checksum);

// or write it
checksum.write('string');
checksum.end();

DeflateCRC32Stream

Inherits zlib.DeflateRaw options and methods.

const {DeflateCRC32Stream} = require('crc32-stream');

const source = fs.createReadStream('file.txt');
const checksum = new DeflateCRC32Stream();

checksum.on('end', function(err) {
  // do something with checksum.digest() here
});

// either pipe it
source.pipe(checksum);

// or write it
checksum.write('string');
checksum.end();

Instance API

digest()

Returns the checksum digest in unsigned form.

hex()

Returns the hexadecimal representation of the checksum digest. (ie E81722F0)

size(compressed)

Returns the raw size/length of passed-through data.

If compressed is true, it returns compressed length instead. (DeflateCRC32Stream)

Things of Interest

You can’t perform that action at this time.