Noodle Printing Machine

    @lit-protocol/keccak

    3.0.2 • Public • Published

    Fork Info

    This project was forked by LIT Protocol to use the js implementation in all cases. This is because esbuild struggles when handling nested browser directives in the package.json. Meaning we already are using browser: {} to include streams, and when this keccak project does the same, esbuild doesn't properly replace the code in js.js with the directives in our browser directive.

    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 = require('keccak')
    
    console.log(createKeccakHash('keccak256').digest().toString('hex'))
    // => c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
    
    console.log(createKeccakHash('keccak256').update('Hello world!').digest('hex'))
    // => ecd0e108a98e192af1d2c25055f4e3bed784b5c877204e73219a5203251feaab

    Also object has two useful methods: _resetState and _clone

    const createKeccakHash = require('keccak')
    
    console.log(createKeccakHash('keccak256').update('Hello World!')._resetState().digest('hex'))
    // => c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
    
    const hash1 = createKeccakHash('keccak256').update('Hello')
    const hash2 = hash1._clone()
    console.log(hash1.digest('hex'))
    // => 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2
    console.log(hash1.update(' world!').digest('hex'))
    // => throw Error: Digest already called
    console.log(hash2.update(' world!').digest('hex'))
    // => 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:

    LICENSE

    This library is free and open-source software released under the MIT license.

    Install

    npm i @lit-protocol/keccak

    DownloadsWeekly Downloads

    5

    Version

    3.0.2

    License

    MIT

    Unpacked Size

    212 kB

    Total Files

    65

    Last publish

    Collaborators

    • track11
    • glitch003