939b5bd46df44f53f7e4c80cf84ffedfd7bffd60c0fd919918676d7f970043ff42157f5d4385417923809447c07b68f30fb9c93b72c3189240ccba90f00c82 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # hash-base
  2. [![NPM Package](https://img.shields.io/npm/v/hash-base.svg?style=flat-square)](https://www.npmjs.org/package/hash-base)
  3. [![Build Status](https://img.shields.io/travis/crypto-browserify/hash-base.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/hash-base)
  4. [![Dependency status](https://img.shields.io/david/crypto-browserify/hash-base.svg?style=flat-square)](https://david-dm.org/crypto-browserify/hash-base#info=dependencies)
  5. [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
  6. Abstract base class to inherit from if you want to create streams implementing the same API as node crypto [Hash][1] (for [Cipher][2] / [Decipher][3] check [crypto-browserify/cipher-base][4]).
  7. ## Example
  8. ```js
  9. function MyHash () {
  10. HashBase.call(64) // in bytes
  11. }
  12. inherti(MyHash, HashBase)
  13. MyHash.prototype._update = function () {
  14. // hashing one block with buffer this._block
  15. }
  16. MyHash.prototype._digest = function () {
  17. // create padding and produce result
  18. }
  19. ```
  20. You also can check [source code](index.js) or [crypto-browserify/md5.js][5]
  21. ## LICENSE
  22. MIT
  23. [1]: https://nodejs.org/api/crypto.html#crypto_class_hash
  24. [2]: https://nodejs.org/api/crypto.html#crypto_class_cipher
  25. [3]: https://nodejs.org/api/crypto.html#crypto_class_decipher
  26. [4]: https://github.com/crypto-browserify/cipher-base
  27. [5]: https://github.com/crypto-browserify/md5.js