CRC32C Module
This package provides an implementation of the CRC32C checksum algorithm in TypeScript.
Overview
CRC32C (Cyclic Redundancy Check) is an error-detecting code commonly used to detect accidental changes to raw data. This implementation uses a precomputed table to efficiently compute the CRC32C checksum for a given buffer.
This implementation targets browser utilization (no backend calculation).
Installation
To install this package, you can use npm or yarn:
npm install @based/crc32c
or
yarn add @based/crc32c
Usage
To use the CRC32C function, import it from the package and pass a buffer to it:
import { crc32c } from '@based/crc32c'
const sData = 'oid123'
const nData = new Uint8Array([1, 2, 2, 3, 4, 5, 6])
const checkSData = crc32c(sData)
const checkNData = crc32c(nData)
console.log(`CRC32C for ${sData} : ${checkSData}`)
console.log(`CRC32C for ${nData} : ${checkNData}`)
Inside Based.db it just builds as a package inside it.
In based-db directory, run:
npm run build
API
crc32c(value: string | UInt16Array | Buffer): number
Computes the CRC32C checksum for the given buffer.
-
Parameters:
value
( The input value for which the CRC32C checksum is to be computed.
-
Returns:
number
: The computed CRC32C checksum.
License
This code is a manual JavaScript translation of C code generated by pycrc 0.7.1 (http://www.tty1.net/pycrc/). Command line used: ./pycrc.py --model=crc-32c --generate c --algorithm=table-driven
.
Adapted to use in Based.db 2025-02-17.
Original code and authors: pycrc (http://www.tty1.net/pycrc/).
Licensed under the MIT License.