A Node.js Crypto Hash (Stream) implementation for the CRC algorithm.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test Remove grunt dependency from "npm test", invoke nodeunit directly, mo… Jan 20, 2015
.eslintrc
.gitignore
.travis.yml
Gruntfile.js Remove grunt dependency from "npm test", invoke nodeunit directly, mo… Jan 20, 2015
LICENSE Update copyright year in LICENSE file. Jan 20, 2015
README.md
crc-hash.js
package.json Update to version 0.2.2, update URI for npm. Mar 15, 2015

README.md

crc-hash

A Crypto Hash (Stream) implementation for the CRC algorithm.

npm version GitHub tag Build status Code coverage License

Overview

Node.js's Crypto module implements the Hash class which offers a simple Stream-based interface for creating hash digests of data. The createHash function supports many popular algorithms like SHA and MD5, but does not include older/simpler CRC algorithms like CRC-32. Fortunately, the crc package in npm provides comprehensive CRC support and offers an API that can be conveniently used by a Hash subclass.

crc-hash is a Crypto Hash wrapper for the crc package that makes it easy for Node.js programs to use the CRC family of hash algorithms via a standard interface.

Algorithms

All algorithms implemented by crc are supported by crc-hash:

  • CRC-1
  • CRC-8
  • CRC-8 1-Wire
  • CRC-16
  • CRC-16 CCITT
  • CRC-16 Modbus
  • CRC-24
  • CRC-32

Interface

/**
 * Creates and returns a hash object which can be used to generate CRC hash digests.
 *
 * @param {string} algorithm CRC algorithm (supported values: crc32, crc24, crc16, crc16ccitt, crc16modbus, crc8, crc81wire, crc1).
 * @return {Stream.Transform} Duplex stream as with Crypto.Hash (including legacy update/digest methods).
 */
createHash(algorithm)

See also:

Credits

License

MIT

Release History

  • 0.1.0 - Initial release, supports Stream programming model.
  • 0.2.0 - Add support for legacy update/digest methods of Hash.
  • 0.2.1 - Add badges for npm, GitHub, build, coverage, and license to README.
  • 0.2.2 - Update URI for npm, tweak .travis.yml.