Have ideas to improve npm?Join in the discussion! »

    crypto-toolkit

    1.1.1 • Public • Published

    Crypto-Toolkit

    DEPRECATED

    superseded by crypto-magic


    A set of utility functions/wrapper to simplify the development workflow

    $ npm install crypto-toolkit

    Features

    • Hash Function Wrapper (MD5, SHA1, SHA244, SHA256, SHA384, SHA512, WHIRLPOOL)
    • Create Object/Array Hashes based on its JSON representation

    Hash Function Wrapper

    Provides easy access to the Node.js Crypto Hash functions. Examples are available in examples/hash.js

    // default hex encoding
    var _hash = require('crypto-toolkit').Hash('hex');
    
    console.log(_hash.sha256('Hello World'));
    Initialization
    require('crypto-toolkit').Hash([encoding:string])

    The argument encoding is optional and defines the output encoding of the digest.

    • hex (default) - hexadecimal string output
    • base64 - base64 string output
    • base64-urlsafe - url-safe base64 string output (/+= are replaced by _-)
    • binary - binary output as Buffer
    Hash Algorithms

    The following wrappers are included:

    • md5(input:mixed, [encoding:string])
    • sha1(input:mixed, [encoding:string])
    • sha2(input:mixed, [encoding:string])
    • sha224(input:mixed, [encoding:string])
    • sha256(input:mixed, [encoding:string])
    • sha384(input:mixed, [encoding:string])
    • sha512(input:mixed, [encoding:string])
    • whirlpool(input:mixed, [encoding:string])

    General Usage

    var _hash = require('crypto-toolkit').Hash('hex');
    
    // some input
    var input = 'Hello World';
    
    // display some hashes
    console.log('Default HEX Output');
    console.log(' |- MD5      ', _hash.md5(input));
    console.log(' |- SHA1     ', _hash.sha1(input));
    console.log(' |- SHA256   ', _hash.sha256(input));
    console.log(' |- SHA384   ', _hash.sha384(input));
    console.log(' |- SHA512   ', _hash.sha512(input));
    console.log(' |- WHIRLPOOL', _hash.whirlpool(input));
    
    // override the default output type
    console.log('Override the default output settings');
    console.log(' |- HEX      ', _hash.sha1(input, 'hex'));
    console.log(' |- BIN      ', _hash.sha1(input, 'binary'));
    console.log(' |- BASE64   ', _hash.sha1(input, 'base64'));
    console.log('');

    Objects

    Objects/Arrays are automatically serialized as JSON String. The JSON object is then passed into the hash function.

    var _hash = require('crypto-toolkit').Hash('hex');
    
    // demo object
    var objectInput = {
        x: 1,
        b: 2,
        c: [5,6,7],
        d: {
            y: 'Hello',
            z: 'World'
        }
    };
    
    console.log('Object Input');
    console.log(' |- SHA256   ', _hash.sha256(objectInput));
    console.log('');

    Random Hash Generator

    Create random hashes easily. Just calls the crypto-toolkit.Hash functions with a random content generated by crypto.randomBytes(514) - helpful for random URLs or filenames (e.g. cache hashes).

    // url-safe base64
    var _randomhash = require('crypto-toolkit').RandomHash('base64-urlsafe');
    
    // all hash function of crypto-toolkit.Hash are supported
    console.log(_randomhash.sha256());
    
    // output like b7qhqd-WnKAH_GmBpSpvQrdkfUdLxL0m__XGcLTRsbI

    Any Questions ? Report a Bug ? Enhancements ?

    Please open a new issue on GitHub

    License

    Crypto-Toolkit is OpenSource and licensed under the Terms of The MIT License (X11). You're welcome to contribute!

    Install

    npm i crypto-toolkit

    DownloadsWeekly Downloads

    12

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    9.67 kB

    Total Files

    10

    Last publish

    Collaborators

    • avatar