Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/forbeslindesay/sha
Check and get file hashes using sha1, md5 etc....
https://github.com/forbeslindesay/sha
Last synced: 11 days ago
JSON representation
Check and get file hashes using sha1, md5 etc....
- Host: GitHub
- URL: https://github.com/forbeslindesay/sha
- Owner: ForbesLindesay
- License: other
- Created: 2013-04-27T11:14:17.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-08-16T10:03:00.000Z (3 months ago)
- Last Synced: 2024-10-20T04:43:46.960Z (24 days ago)
- Language: JavaScript
- Homepage:
- Size: 396 KB
- Stars: 22
- Watchers: 7
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# sha
Check and get file hashes (using any algorithm)
[![Build Status](https://img.shields.io/travis/ForbesLindesay/sha/master.svg)](https://travis-ci.org/ForbesLindesay/sha)
[![Dependency Status](https://img.shields.io/david/ForbesLindesay/sha.svg)](https://david-dm.org/ForbesLindesay/sha)
[![NPM version](https://img.shields.io/npm/v/sha.svg)](https://www.npmjs.com/package/sha)## Installation
$ npm install sha
## API
### check(fileName, expected, [options,] cb) / checkSync(filename, expected, [options])
Asynchronously check that `fileName` has a "hash" of `expected`. The callback will be called with either `null` or an error (indicating that they did not match).
Options:
- algorithm: defaults to `sha1` and can be any of the algorithms supported by `crypto.createHash`
### get(fileName, [options,] cb) / getSync(filename, [options])
Asynchronously get the "hash" of `fileName`. The callback will be called with an optional `error` object and the (lower cased) hex digest of the hash.
Options:
- algorithm: defaults to `sha1` and can be any of the algorithms supported by `crypto.createHash`
### stream(expected, [options])
Check the hash of a stream without ever buffering it. This is a pass through stream so you can do things like:
```js
fs.createReadStream('src')
.pipe(sha.stream('expected'))
.pipe(fs.createWriteStream('dest'))
````dest` will be a complete copy of `src` and an error will be emitted if the hash did not match `'expected'`.
Options:
- algorithm: defaults to `sha1` and can be any of the algorithms supported by `crypto.createHash`
## License
You may use this software under the BSD or MIT. Take your pick. If you want me to release it under another license, open a pull request.