vvlad1973-crypto
v2.1.0
Published
A JavaScript class for encrypting and decrypting text using specified cryptographic parameters (algorithm, password, etc.)
Downloads
61
Maintainers
Readme
vvlad1973-crypto
A simple TypeScript class for encrypting and decrypting text using specified cryptographic parameters (algorithm, password, etc.).
This class is a wrapper for the aes-js library.
Installation
You can install the package via npm:
npm install vvlad1973-crypto
Usage
Here are some examples of how to use the Crypto class in your project.
Importing the Crypto Class
In a CommonJS module environment (Node.js):
const { Crypto } = require('vvlad1973-crypto');
In an ES module environment:
import { Crypto } from 'vvlad1973-crypto';
Example: Encrypting and Decrypting Text
const password = 'your-password';
const salt = 'your-salt';
// Create an instance of the Crypto class
const crypto = new Crypto(password, salt);
// Encrypt a text
const plainText = 'Hello, World!';
const encryptedText = crypto.encrypt(plainText);
console.log('Encrypted:', encryptedText);
// Decrypt the text
const decryptedText = crypto.decrypt(encryptedText);
console.log('Decrypted:', decryptedText);
API
new Crypto(password: string, salt: string, algorithm: string = 'SHA512', iterations: number = 1000, keyLength: number = 32, iv: number = 5)
- password: The password used for key derivation.
- salt: The salt used for key derivation.
- algorithm: The hash algorithm to use for key derivation. Default is SHA512.
- iterations: The number of iterations to use for key derivation. Default is 1000.
- keyLength: The length of the derived key in bytes. Default is 32.
- iv: The initialization vector for the AES encryption. Default is 5.
encrypt(text: string): string
Encrypts the given text and returns the encrypted text as a hex string.
- text: The plain text to encrypt.
- returns: The encrypted text as a hex string.
decrypt(text: string): string
Decrypts the given encrypted text and returns the decrypted plain text.
- text: The encrypted text as a hex string.
- returns: The decrypted plain text.
Running Tests
To run tests, use the following command:
npm test
License
This project is licensed under the MIT License with Commercial Use - see the LICENSE file for details.
Author
Vladislav Vnukovskiy [email protected]