Skip to content
Take two readable streams and return a readable stream with the xor of the two input chunks
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

xor-stream

Take two readable streams and return a readable stream that contains chunkA XOR chunkB

npm install xor-stream

Build Status

This can be used to calculate pairty blobs of the contents of two streams.

Example

var xorStream = require('xor-stream')
var streamEqual = require('stream-equal')
var rs = require('fs').createReadStream

var pairity = xorStream(rs('pathA'), rs('pathB'))
var contentOfA = xorStream(pairity, rs('pathB'))

streamEqual(rs('pathA'), contentOfA, function (err, equal) {
  console.log(equal) // true if file A is larger than File B
})

Right now, if one file is longer than the other, xor-stream pads the shorter stream with 0 bytes, so recovering shorter files from the longer file XOR pairty will have extra byte padding at the end.

Background

You can’t perform that action at this time.