| bits | ||
| ctest | ||
| misc | ||
| perf | ||
| .gitignore | ||
| .jscs.json | ||
| .travis.yml | ||
| crc32.js | ||
| LICENSE | ||
| Makefile | ||
| package.json | ||
| README.md | ||
| test.js | ||
crc32
Standard CRC-32 algorithm implementation in JS (for the browser and nodejs). Emphasis on correctness and performance.
Installation
In nodejs:
npm install crc-32
In the browser:
<script lang="javascript" src="crc32.js"></script>
The browser exposes a variable CRC32
Usage
- 
CRC32.buf(byte array or buffer)assumes the argument is a set of 8 bit unsigned integers (e.g. nodejsBufferor simple array of ints)
- 
CRC32.bstr(binary string)interprets the argument as a binary string where thei-th byte isstr.charCodeAt(i)
- 
CRC32.str(string)interprets the argument as a standard JS string
Testing
make test will run the nodejs-based test.  To run the in-browser tests, run a
local server and go to the ctest directory.  To update the browser artifacts,
run make ctest.
Performance
make perf will run performance tests.
In the future ...
- 
Specifying an arbitrary initial CRC value 
- 
Supporting different polynomials (e.g. CRC32C) 
License
Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 license are reserved by the Original Author.

