purekeccak
Version
This module provides pure javascript implementations to Keccak sponge function family from Keccak Code Package.
Usage
You can use this package as node Hash.
const createKeccakHash = console// => c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 console// => ecd0e108a98e192af1d2c25055f4e3bed784b5c877204e73219a5203251feaab
Also object has two useful methods: _resetState
and _clone
const createKeccakHash = console// => c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 const hash1 = const hash2 = hash1console// => 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2console// => throw Error: Digest already calledconsole// => ecd0e108a98e192af1d2c25055f4e3bed784b5c877204e73219a5203251feaab
Why I should use this package?
I thought it will be popular question, so I decide write explanation in readme.
I know a few popular packages on npm related with Keccak:
- sha3 (phusion/node-sha3 on github) — not actual because support only keccak.
- js-sha3 (emn178/js-sha3 on github) — brilliant package which support keccak, sha3, shake. But not implement node Hash interface unfortunately!
- browserify-sha3 (wanderer/browserify-sha3 on github) — based on js-sha3 (but not support shake!). Support node Hash interface, but without streams.
- keccakjs (axic/keccakjs on github) — uses sha3 and browserify-sha3 as fallback. As result keccak only with node Hash interface without streams.
LICENSE
This library is free and open-source software released under the MIT license.