A secure file encryption and decryption tool written in C++, utilizing advanced synchronization mechanisms like semaphores and locks to ensure data integrity and safety.
- Introduction
- Features
- Technologies Used
- Getting Started
- Code Structure
- Usage
- Contributing
- Acknowledgments
- Developer
Encryptify is a robust file encryption and decryption application designed to secure sensitive data. Leveraging C++’s capabilities, the application efficiently manages file operations with multithreading, ensuring that encryption and decryption processes are both secure and efficient. The application implements semaphores and locks to coordinate access to shared resources, preventing data corruption.
- File Encryption/Decryption: Securely encrypts and decrypts files using strong algorithms.
- Multithreading Support: Handles multiple file operations simultaneously, optimizing performance.
- Synchronization Mechanisms: Implements semaphores and locks for safe access to shared resources.
- User-Friendly Command-Line Interface: Simple and intuitive command-line options for ease of use.
- Configurable Settings: Users can modify encryption parameters according to their requirements.
- C++
- Multithreading
- Semaphores and Locks
- Command-Line Interface (CLI)
- Makefile for build automation
- C++ Compiler (e.g., g++)
- CMake (for building)
- Basic knowledge of C++ and command-line operations
- Clone the repository:
git clone https://github.com/yourusername/encryptify.git cd encryptify
- Compile the application using the Makefile:
make
- To run the encryption application, use the following command:
./encryptify --encrypt <input_file> <output_file>
- To decrypt a file, use:
./encryptify --encrypt <input_file> <output_file>
encryptify/
├── .idea/ // IDE configuration files
├── .vscode/ // Visual Studio Code configuration files
├── src/ // Source files
│ └──> main.cpp // Main application logic
│ └──> app/ // Application specific logic
├── .env // Environment variables configuration
├── .gitignore // Files to ignore in Git
├── Makefile // Build instructions
└── makeDirs.py // Script to create necessary directories
- Start by compiling the application as mentioned above.
- Use the command-line interface to encrypt or decrypt files.
- Ensure that the files you are working with have the appropriate permissions for reading and writing.
Contributions are encouraged! Please follow these steps to contribute:
I. Fork the repository: git checkout -b feature/YourFeature II.Make your changes and commit: git commit -m "Add your feature" III. Push to the branch: git push origin feature/YourFeature IV. Create a pull request.
Inspired by the need for secure file handling and modern encryption techniques. Special thanks to the open-source community for their contributions and shared knowledge in C++ development.
This project is developed by Shobhit Singh
Feel free to reach out for any questions or collaborations!