You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
397 B
13 lines
397 B
|
|
var createHash = require('crypto').createHash
|
|
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')
|
|
}
|
|
|