Needlessly Postulating Minds

    xorcrypto

    1.1.2 • Public • Published

    xorCrypto

    npm version npm version

    XOR Cipher is secure, as long as key length equal to data length. Simple and lightweight algorithm, this encryption used SHA256 as PRNG to create XOR-KEY.

    Features

    • XOR-KEY will be changed every 32 bytes
    • XOR-KEY was created from SHA256 of SecrectKey and OpenSSL RNG's value
    • Simple
    • Lightweight
    • Easy to implement
    • Data don't repeate by sequence
    • Hash based

    Installation

    Require NodeJs

    npm install xorcrypto

    Usage

    const xorCrypto = require('xorcrypto');
     
    let myXorCrypto = new xorCrypto(Buffer.from('My secret key, I will share with my friend.'));
    let value, encrypted, decrypted;
    value = Buffer.from('This is my secret message!');
     
    encrypted = myXorCrypto.encrypt(value);
     
    decrypted = myXorCrypto.decrypt(encrypted);
     
    console.log(`Value: ${value}\nEncrypted: ${encrypted.toString('hex')}\nDecrypted: ${decrypted.toString()}\nIs the same: ${decrypted.toString() == value}`);

    Result:

    chiro@moonfang:~/labs$ node test.js 
    Value: This is my secret message!
    Encrypted: 970504f07e0ee97aa3e53c55414fc6f01b581e0d441167c64c8a8f807bc5617f59c190bc555c96eaf504
    Decrypted: This is my secret message!
    Is the same: true
    chiro@moonfang:~/labs$ node test.js 
    Value: This is my secret message!
    Encrypted: 79f0a536a36e1a284ec450acc14651c00b9c043462158d2177dccda7d821bc35c8335fa68f610d01c0f9
    Decrypted: This is my secret message!
    Is the same: true
    chiro@moonfang:~/labs$ 

    License

    This module distributed under MIT License

    Install

    npm i xorcrypto

    DownloadsWeekly Downloads

    2

    Version

    1.1.2

    License

    MIT

    Unpacked Size

    17.5 kB

    Total Files

    12

    Last publish

    Collaborators

    • tad88dev