Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80537 views
1
#! /usr/bin/env node
2
3
var createHash = require('./browserify')
4
5
var argv = process.argv.slice(2)
6
7
if(/--help|-h/.test(argv[0])) return usage()
8
9
function stream (alg, s) {
10
var start = Date.now()
11
var hash = createHash(alg || 'sha1')
12
s
13
.on('data', function (data) {
14
hash.update(data)
15
})
16
.on('end', function (data) {
17
if(process.env.DEBUG)
18
return console.log(hash.digest('hex'), Date.now() - start)
19
console.log(hash.digest('hex'))
20
})
21
}
22
23
if(!process.stdin.isTTY) {
24
stream(argv[0], process.stdin)
25
} else if (argv.length) {
26
var filename = argv.pop()
27
var alg = argv.pop()
28
stream(alg, require('fs').createReadStream(filename))
29
} else {
30
usage()
31
}
32
33
function usage () {
34
console.error('sha.js [algorithm=sha1] [filename] # hash filename with algorithm')
35
console.error('input | sha.js [algorithm=sha1] # hash stdin with algorithm')
36
console.error('sha.js --help # display this message')
37
}
38
39