xtf c3c218391a 药品分类 11 місяців тому
..
test c3c218391a 药品分类 11 місяців тому
.travis.yml c3c218391a 药品分类 11 місяців тому
LICENSE c3c218391a 药品分类 11 місяців тому
README.md c3c218391a 药品分类 11 місяців тому
bin.js c3c218391a 药品分类 11 місяців тому
hash.js c3c218391a 药品分类 11 місяців тому
index.js c3c218391a 药品分类 11 місяців тому
package.json c3c218391a 药品分类 11 місяців тому
sha.js c3c218391a 药品分类 11 місяців тому
sha1.js c3c218391a 药品分类 11 місяців тому
sha224.js c3c218391a 药品分类 11 місяців тому
sha256.js c3c218391a 药品分类 11 місяців тому
sha384.js c3c218391a 药品分类 11 місяців тому
sha512.js c3c218391a 药品分类 11 місяців тому

README.md

sha.js

NPM Package Build Status Dependency status

js-standard-style

Node style SHA on pure JavaScript.

var shajs = require('sha.js')

console.log(shajs('sha256').update('42').digest('hex'))
// => 73475cb40a568e8da8a045ced110137e159f890ac4da883b6b17dc651b3a8049
console.log(new shajs.sha256().update('42').digest('hex'))
// => 73475cb40a568e8da8a045ced110137e159f890ac4da883b6b17dc651b3a8049

var sha256stream = shajs('sha256')
sha256stream.end('42')
console.log(sha256stream.read().toString('hex'))
// => 73475cb40a568e8da8a045ced110137e159f890ac4da883b6b17dc651b3a8049

supported hashes

sha.js currently implements:

  • SHA (SHA-0) -- legacy, do not use in new systems
  • SHA-1 -- legacy, do not use in new systems
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512

Not an actual stream

Note, this doesn't actually implement a stream, but wrapping this in a stream is trivial. It does update incrementally, so you can hash things larger than RAM, as it uses a constant amount of memory (except when using base64 or utf8 encoding, see code comments).

Acknowledgements

This work is derived from Paul Johnston's A JavaScript implementation of the Secure Hash Algorithm.

LICENSE MIT