env-guardian
v1.0.0
Published
A simple CLI tool to encrypt and decrypt `.env` files securely using AES-256-CBC encryption.
Maintainers
Readme
env-guardian
A simple CLI tool to encrypt and decrypt .env files securely using AES-256-CBC encryption. Protect sensitive information in your .env files by encrypting them with a password, and decrypt them when needed.
Features
- Encrypt multiple
.envfiles - Decrypt multiple encrypted files
- Secure encryption using AES-256-CBC
- Password-based encryption and decryption
- IV (Initialization Vector) securely embedded in the encrypted file
Installation
You can use env-guardian directly via npx, so there is no need to install it globally.
Commands
1. Encrypt Files
Encrypt one or more .env files using a password.
npx env-guardian encrypt -f <file-paths> -p <password> -o <output-dir>Options:
-f, --files <paths...>: Paths to the.envfiles you want to encrypt. You can specify multiple files-p, --password <password>: Password used for encryption-o, --output <dir>: Directory where the encrypted files will be saved
Example:
npx env-guardian encrypt -f .env .env.local -p mypassword -o encrypted2. Decrypt Files
Decrypt one or more encrypted files using the same password.
npx env-guardian decrypt -f <file-paths> -p <password> -o <output-dir>Options:
-f, --files <paths...>: Paths to the encrypted files you want to decrypt. You can specify multiple files-p, --password <password>: Password used for decryption-o, --output <dir>: Directory where the decrypted files will be saved
Example:
npx env-guardian decrypt -f encrypted/.env.enc -p mypassword -o decrypted3. Help
Display available options and commands:
npx env-guardian --helpHow It Works
Encryption Process
- Uses AES-256-CBC encryption algorithm for secure file encryption
- Generates a random Initialization Vector (IV) for each encryption
- Ensures different output even when encrypting the same file multiple times with the same password
- Embeds the IV at the beginning of the encrypted file for seamless decryption
Decryption Process
- Requires the same password used during encryption
- Automatically extracts the IV from the encrypted file
- Uses the IV and password to decrypt the file
- Restores the original
.envcontent
Example Workflow
- Encrypt your
.envfile:
npx env-guardian encrypt -f .env -p secretpassword -o encryptedCheck the
encrypted/directory:- The encrypted file will be available as
encrypted/.env.enc
- The encrypted file will be available as
Decrypt when needed:
npx env-guardian decrypt -f encrypted/.env.enc -p secretpassword -o decryptedThe decrypted .env file will be saved in the decrypted/ directory.
Development
To contribute or run the tool locally:
git clone https://github.com/Benup211/env-guardian.git
cd env-guardian
npm installLicense
MIT License
