keccak
This module provides native bindings to Keccak sponge function family from Keccak Code Package. In browser pure JavaScript implementation will be used.
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.