simple-sha1 wraps three fast SHA1 implementations, and exposes a simple api for generating hashes in node (crypto) and the browser (WebCryptoAPI || Rusha).
$ npm install simple-sha1
var sha1 = require('simple-sha1')
// Because the WebCryptoAPI uses Promises (shudder),
// you have to pass a callback if you want to take
// advantage of its mad-sick performance.
sha1('hey there', function (hash) {
console.log(hash)
> 6b1c01703b68cf9b35ab049385900b5c428651b6
})
// However, if you don’t mind always using Rusha in
// the browser, you can just call sha1.sync and be
// done with it.
console.log(sha1.sync('hey there'))
> 6b1c01703b68cf9b35ab049385900b5c428651b6