| Server IP : 176.32.38.42 / Your IP : 216.73.217.104 Web Server : LiteSpeed System : Linux ha006.mymail.zone 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64 User : s1225329 ( 1835) PHP Version : 7.4.33 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/alt-nodejs10/root/usr/lib/node_modules/npm/node_modules.bundled/sha/ |
Upload File : |
# sha
Check and get file hashes (using any algorithm)
[](https://travis-ci.org/ForbesLindesay/sha)
[](https://david-dm.org/ForbesLindesay/sha)
[](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.