mirror of https://github.com/nodejs/node.git
49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# sha
|
|
|
|
Check and get file hashes (using any algorithm)
|
|
|
|
[![Build Status](https://travis-ci.org/ForbesLindesay/sha.png?branch=master)](https://travis-ci.org/ForbesLindesay/sha)
|
|
[![Dependency Status](https://gemnasium.com/ForbesLindesay/sha.png)](https://gemnasium.com/ForbesLindesay/sha)
|
|
[![NPM version](https://badge.fury.io/js/sha.png)](http://badge.fury.io/js/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. |