Skip to content

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

License

Notifications You must be signed in to change notification settings

DavidAnson/crc-hash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published