14 lines
385 B
JavaScript
14 lines
385 B
JavaScript
|
|
var createHash = require('sha.js')
|
|
var Buffer = require('buffer').Buffer
|
|
var stringify = require('json-stable-stringify')
|
|
|
|
module.exports = function hash (str, alg, format) {
|
|
str = 'string' === typeof str ? str
|
|
: Buffer.isBuffer(str) ? str
|
|
: stringify(str)
|
|
return createHash(alg || 'sha1')
|
|
.update(str, Buffer.isBuffer(str) ? null : 'utf8').digest(format || 'hex')
|
|
}
|
|
|