Socket
Socket
Sign inDemoInstall

crc32-stream

Package Overview
Dependencies
11
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

crc32-stream

a streaming CRC32 checksumer


Version published
Maintainers
1
Weekly downloads
7,912,890
decreased by-11.17%

Weekly downloads

Package description

What is crc32-stream?

The crc32-stream npm package is designed for generating CRC32 checksums from streams of data. It is particularly useful for validating the integrity of data being transferred or stored. The package provides a way to compute CRC32 checksums efficiently on-the-fly for both streams of data and individual files.

What are crc32-stream's main functionalities?

CRC32 Checksum for Streams

This feature allows you to create a CRC32 checksum for data streams. The code sample demonstrates how to pipe a file stream through the CRC32Stream to compute its checksum.

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

const source = fs.createReadStream('path/to/file');
const crc32Stream = new CRC32Stream();

source.pipe(crc32Stream).on('finish', function() {
  console.log('CRC32 Checksum:', crc32Stream.digest().toString(16));
});

CRC32 Checksum for Files

This feature demonstrates how to compute and append a CRC32 checksum for files. It shows the process of reading a file, computing the checksum as the file is being processed, and then writing the output to another file.

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

const crc32Stream = new CRC32Stream();
const output = fs.createWriteStream('output.file');

fs.createReadStream('input.file')
  .pipe(crc32Stream)
  .pipe(output)
  .on('finish', function() {
    console.log('File processed with CRC32 Checksum:', crc32Stream.digest().toString(16));
  });

Other packages similar to crc32-stream

Readme

Source

CRC32 Stream

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

Keywords

FAQs

Last updated on 29 Feb 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc