|
|
||||
|---|---|---|---|---|
| .. | ||||
| test | 11e3a9652a | 8 anos atrás | ||
| .travis.yml | 11e3a9652a | 8 anos atrás | ||
| LICENSE | 11e3a9652a | 8 anos atrás | ||
| README.md | 11e3a9652a | 8 anos atrás | ||
| bin.js | 11e3a9652a | 8 anos atrás | ||
| hash.js | 11e3a9652a | 8 anos atrás | ||
| index.js | 11e3a9652a | 8 anos atrás | ||
| package.json | 11e3a9652a | 8 anos atrás | ||
| sha.js | 11e3a9652a | 8 anos atrás | ||
| sha1.js | 11e3a9652a | 8 anos atrás | ||
| sha224.js | 11e3a9652a | 8 anos atrás | ||
| sha256.js | 11e3a9652a | 8 anos atrás | ||
| sha384.js | 11e3a9652a | 8 anos atrás | ||
| sha512.js | 11e3a9652a | 8 anos atrás | ||
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
sha.js currently implements:
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).
This work is derived from Paul Johnston's A JavaScript implementation of the Secure Hash Algorithm.