1.0.4 • Published 1 year ago

@kangyasin/crypt-aes-node v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

crypt-aes-node

A module to encrypt/decrypt string in Node, written in ES6.

Using companion framework libraries, you should be able to encrypt/decrypt between node, iOS and Android.

Companion libs can be found here: Cross Platform AES Encryption

Installation

npm install @kangyasin/crypt-aes-node --save

Usage

Encrypt Decrypt with Random IV

In this mode the library will internally create a random IV while encryption and while decryption it will ignore the initial vector chars. This will always create a different cipherText for the same plain text and key

const plainText = "this is my plain text";
const key = "your key";

const cryptLib = require('@kangyasin/crypt-aes-node');

const cipherText = cryptLib.encryptPlainTextWithRandomIV(plainText, key);
console.log('cipherText %s', cipherText);

const decryptedString = cryptLib.decryptCipherTextWithRandomIV(cipherText, key);
console.log('decryptedString %s', decryptedString);

Basic Encrypt Decrypt

const cryptLib = require('@kangyasin/crypt-aes-node');
const iv = cryptLib.generateRandomIV(16); //16 bytes = 128 bit
const key = cryptLib.getHashSha256('my secret key', 32); //32 bytes = 256 bits
const cipherText = cryptLib.encrypt('This is the text to be encrypted', key, iv);

console.log(cipherText);

const decryptedString = cryptLib.decrypt(cipherText, key, iv);

console.log(decryptedString);

Run Code Sample

npm start

Tests

npm test

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.

License

MIT license; see LICENSE.

(c) 2022 by Kang Yasin