Skip to content

Data integrity checking utilities for Node and the browser

License

Notifications You must be signed in to change notification settings

43081j/integrity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Integrity.js

Integrity.js is a small collection of utilities for checking integrity of a file.

It makes use of the es6-promise polyfill to provide promise functionality.

TODO

  • SHA-1, SHA-256, SHA-384, SHA-512
  • CRC16

Install

Node:

npm install integrity

Bower:

bower install integrity

Use

Node:

var integrity = require('integrity');

Bower:

<script src="bower_components/integrity/dist/integrity.js"></script>

Supported Inputs

All methods support the following inputs:

  • Buffer (Node)
  • String
  • ArrayBuffer
  • ReadableStream (Node)
  • File (HTML5)

Supported Algorithms

  • CRC32 (built in)
  • MD5 (spark-md5 for browers, crypto for Node)

HTML5 File Example

document.querySelector('#file').addEventListener('change', function(e) {
	var file = e.target.files[0],
		reader = new FileReader();

	reader.onloadend = function(e) {
		// e.target.result is an ArrayBuffer
		integrity.crc32(e.target.result).then(function(c) {
			console.log(c.toString(16));
		});
	};

	reader.readAsArrayBuffer(file);
});

CRC32

Example:

integrity.crc32('123456789').then(function(crc) {
	console.log(crc); // 0xCBF43926
});
integrity.crc32(new Buffer('123456789')).then(function(crc) {
	console.log(crc); // 0xCBF43926
});
integrity.crc32(fs.createReadStream('test')).then(function(crc) {
	console.log(crc); // CRC32 of file 'test'
});

About

Data integrity checking utilities for Node and the browser

Resources

License

Stars

Watchers

Forks

Packages

No packages published