Abstract base class to inherit from if you want to create streams implementing the same API as node crypto Hash (for Cipher / Decipher check crypto-browserify/cipher-base).
```js const HashBase = require('hash-base') const inherits = require('inherits')
// our hash function is XOR sum of all bytes function MyHash () { HashBase.call(this, 1) // in bytes
this._sum = 0x00 }
inherits(MyHash, HashBase)
MyHash.prototype._update = function () { for (let i = 0; i < this._block.length; ++i) this._sum ^= this._block[i] }
MyHash.prototype._digest = function () { return this._sum }
const data = Buffer.from([ 0x00, 0x42, 0x01 ]) const hash = new MyHash().update(data).digest() console.log(hash) // => 67 ``` You also can check source code or crypto-browserify/md5.js
MIT