This project extends the Vigenère cipher implementation to support file encryption and decryption. It provides a command-line interface (CLI) for encrypting and decrypting files, with a progress bar to show the operation's progress.
- Encrypt files using the Vigenère cipher in ECB mode.
- Decrypt files using the Vigenère cipher in ECB mode.
- Command-line interface for easy usage.
- Progress bar to visualize the encryption/decryption process.
Ensure you have Rust installed on your system.
Clone the repository and navigate to the project directory:
git clone https://github.com/martian58/vigenc.git
cd vigenc
To build the project, use the following command:
cargo build
For a release build, use:
cargo build --release
The project provides a command-line interface for encrypting and decrypting files. The available options are:
--input
or-i
: The input file to use (required).--output
or-o
: The output file to use (optional).--key
or-k
: The encryption/decryption key (optional, will prompt if not provided).--decrypt
or-d
: Decrypt the input file instead of encrypting.
cargo run --bin vigenc -- --input input_file.txt
cargo run --bin vigenc -- --input input_file.txt --output output_file.txt
cargo run --bin vigenc -- --input encrypted_file.txt --decrypt
cargo run --bin vigenc -- --input encrypted_file.txt --output decrypted_file.txt --decrypt
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
For any questions or inquiries, please contact martian58.