xtf c3c218391a 药品分类 11 months ago
..
test c3c218391a 药品分类 11 months ago
.travis.yml c3c218391a 药品分类 11 months ago
LICENSE c3c218391a 药品分类 11 months ago
README.md c3c218391a 药品分类 11 months ago
bin.js c3c218391a 药品分类 11 months ago
hash.js c3c218391a 药品分类 11 months ago
index.js c3c218391a 药品分类 11 months ago
package.json c3c218391a 药品分类 11 months ago
sha.js c3c218391a 药品分类 11 months ago
sha1.js c3c218391a 药品分类 11 months ago
sha224.js c3c218391a 药品分类 11 months ago
sha256.js c3c218391a 药品分类 11 months ago
sha384.js c3c218391a 药品分类 11 months ago
sha512.js c3c218391a 药品分类 11 months ago

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