Skip to content

Simple tools to deal with the AES-256-CBC encryption and decryption of data with arbitrary lengths

License

Notifications You must be signed in to change notification settings

OutOfSyncStudios/aescrypt-helper

Repository files navigation

aescrypt-helper

NPM

Actual version published on npm Total npm module downloads Master build Codacy Badge Codacy Coverage Badge Dependencies badge

aescrypt-helper is a pure Node.js set of simple tools to deal with the AES-256-CBC encryption and decryption of data with arbitrary lengths.

npm install @outofsync/aescrypt-helper

const AESCryptHelper = require('@outofsync/aescrypt-helper');

const secret = '41e8c08ff31f97547ac11cc47c29f8ce5cb187a70ef09226c0f025c25c55b5b3';
const iv = '3816d1474cf82f3182b83c390d3e8eb5';
const creds = { secret: null, iv: null };

creds.secret = Buffer.from(secret, 'hex');
creds.iv = Buffer.from(iv, 'hex');
const aescyptHelper = new AESCryptHelper(creds.secret, creds.iv);

console.log(aescryptHelper.decryptiv(aescryptHelper.encryptiv('Test Message')));

AESCryptHelper constructor(secret, iv[, separator]) ⟾ instanceof AESCryptHelper

Create an instance of AESCryptHelper using the secret, and iv (initialization vector). A separator may also be specified to indicate how blocks are separated; however, this is unnecessary and only included for backwards compatibility. By default, no separator is used.

Note: The iv should exactly 16 bytes in length and the secret should be exactly 32 bytes in length.

AESCryptHelper.encryptiv(data [, secret] [, iv]) ⟾ Buffer

Encrypt the data Buffer with the configured secret or the optionally passed secret and the configured iv or the optionally passed iv. Returns the encrypted data in a Buffer.

AESCryptHelper.decryptiv(encryptedData [, secret] [, iv]) ⟾ Buffer

Decrypts the encryptedData Buffer with the configured secret or the optionally passed secret and the configured iv or the optionally passed iv. Returns the decrypted data in a Buffer.

Copyright (c) 2018-2021 Out of Sync Studios LLC -- Licensed under the MIT license.

About

Simple tools to deal with the AES-256-CBC encryption and decryption of data with arbitrary lengths

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published