diff --git a/README.md b/README.md new file mode 100644 index 0000000..9170904 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# Encryption and Decryption using Node.js + +This code provides a simple way to encrypt and decrypt text using the Advanced Encryption Standard (AES) algorithm in Cipher Block Chaining (CBC) mode with Node.js's `crypto` module. + +## Pre requisites + +Before using this code, make sure you have Node.js installed on your system. + +## Usage + +1. **Import the Module** + + First, import the `encrypt` and `decrypt` functions from the module in your Node.js project. + + ```javascript + const crypto = require('./crypto'); + ``` + +2. **Set Encryption Parameters** + + Modify the following constants in your code with your own values: + + - `CHAVE`: A 32-character encryption key. + - `IV`: A 16-character initialization vector. + - `ALGORITMO`: The encryption algorithm, which is set to "aes-256-cbc" by default. You can change it if needed. + - `METODO_CRIPTOGRAFIA` and `METODO_DESCRIPTOGRAFIA`: The methods used for encoding the output. They are set to 'hex' by default. + +3. **Encrypt Text** + + To encrypt a piece of text, call the `encrypt` function and pass the text as a parameter. + + ```javascript + const textToEncrypt = 'This is a secret message'; + const encryptedText = crypto.encrypt(textToEncrypt); + ``` + +4. **Decrypt Text** + + To decrypt the encrypted text, call the `decrypt` function and pass the encrypted text as a parameter. + + ```javascript + const decryptedText = crypto.decrypt(encryptedText); + ``` + +5. **Complete Example** + + Here's a complete example of how to use the code: + + ```javascript + const crypto = require('./crypto'); + + const CHAVE = 'bf3c199c2470cb477d907b1e0917c17e'; + const IV = '5183666c72eec9e4'; + + // Encrypt + const textToEncrypt = 'This is a secret message'; + const encryptedText = crypto.encrypt(textToEncrypt); + console.log('Encrypted:', encryptedText); + + // Decrypt + const decryptedText = crypto.decrypt(encryptedText); + console.log('Decrypted:', decryptedText); + ``` + +## Security Note + +Make sure to keep your encryption key (`CHAVE`) and initialization vector (`IV`) secret and secure, as they are critical for the security of your encrypted data. + +--- + +Feel free to replace the placeholders with your actual values and use this README as a guide to integrate encryption and decryption into your Node.js project. \ No newline at end of file