0.2.2 • Published 5 years ago

easy-nodecrypt v0.2.2

Weekly downloads
22
License
MIT
Repository
github
Last release
5 years ago

NodeCrypt

A simple nodejs library that makes life easier when you want to encrypt and decrypt string to multiple encodings.

This library was written in pure NodeJS with TypeScript.

How to use

  • With IV

    Create a new instance of NodeCryptIV

    const NodeCryptIV = require('easy-nodecrypt').NodeCryptIV;
    • Random mode

      const nodeCryptIV = new NodeCryptIV({ secret: 'mysecret' });
      const encrypted = nodeCryptIV.encrypt('Pika Pika!').toBase64();
      console.log(encrypted); // emlSWvnh7cUwkEvWWeZafcR3Kp8YJafoRoJvJBQ_t38
      
      const decrypted = nodeCryptIV.decrypt(encrypted);
      console.log(decrypted); // Pika Pika!
    • No random mode

      You can give the IV with an environment variable (NODECRYPT_IV) or directly in the NodeCryptIV instance. The function use first the IV in parameter and if it's not exist, it use the environment variable.

      The IV must have a length of 16 characters.

      const nodeCryptIV = new NodeCryptIV({ secret: 'mysecret', iv: 'totototototototo' });
      const encrypted = nodeCryptIV.encrypt('Pika Pika!').toBase64();
      console.log(encrypted); // dG90b3RvdG90b3RvdG90b8bCKJ7SMuOaSWvijqvujXM
      
      const decrypted = nodeCryptIV.decrypt(encrypted);
      console.log(decrypted); // Pika Pika!
  • Without IV

    Create a new instance of NodeCrypt

    const NodeCrypt = require('easy-nodecrypt').NodeCrypt;
    const nodeCrypt = new NodeCrypt('mysecret');
    const encrypted = nodeCrypt.encrypt('Pika Pika!').toBase64();
    console.log(encrypted); // spsAgpAHVSClkOKb0LTT8Q
    
    const decrypted = nodeCrypt.decrypt(encrypted);
    console.log(decrypted); // Pika Pika!

Tips and trikcs

  • If you want to decrypt a value with another instance of the library, don't forget to specify the encoding to use:

    // Encrypt value.
    const nodeCrypt = new NodeCrypt('mysecret');
    const encrypted = nodeCrypt.encrypt('Pika Pika!').toBase64();
    
    // Decrypt value with the same instance.
    const decrypted = nodeCrypt.decrypt(encrypted);
    
    // Decrypt value with another instance.
    const newInstance = new NodeCrypt('mysecret');
    // Specify the encoding of the encrypted text.
    newInstance.encoding = 'base64';
    newInstance.decrypt(encrypted);

Environements variables

You can give the above values by environements variables:

Environement variableCode variableClass
NODECRYPT_SECRETsecretNodeCrypt, NodeCryptIV
NODECRYPT_IVivNodeCryptIV

Author

Guillaume Quittet

https://www.linkedin.com/in/gquittet/

Give me a coffee ☕

https://paypal.me/gquittet