PixEnc in Python
Encrypt image by manipulating pixels
Version: 3.1.1
- Python
- Python Pillow Library
Original Image
Encrypted Image
Decrypted Image
- Clone the repository
- Install Python 3.8 or above
- Install required packages from
requirements.txt - Run
main.py
- Keep the image you want to encrypt in the same directory as
main.py - Run main.py
- Select the image you want to encrypt
- Enter the password you want to use to encrypt the image
- It will generate a file named
encrypt.png
- To decrypt the image, run
main.pyagain - Enter the password you used to encrypt the image
- Select the image you want to decrypt
- It will generate a file named
decrypt.png
- Renamed FileSelector.py to file_selector.py
- Changed user flow from selection -> password -> file selection to selection -> file selection -> password
- Made file explorer case-insensitive
- Added file explorer to select image
- Converted codebase to OOP, separating encryption-decryption logic, image generation logic & entry point
- Fixed issue with Palette mode PNG & Grayscale mode PNG
- Added support for JPG image
- White pixels are not encrypted properly
- Changes in logging
- Only PNG image support
- Added multithreading support for decryption
- Only PNG image support
- Added multithreading support for image generation resulting in faster encryption & image generation
- Decryption is not operational
- Only PNG image support
- Added multithreading support for encryption
- Pixel encryption is working fine but problem is in creating image from encrypted pixels. It is the bottleneck.
- Only PNG image support
- Added multithreading; but image generation is not proper
- Threads creation & sharing workload is working fine but image generation & encryption is not proper. It's giving partial output. And giving error on pixel read-write on big image.
- Only PNG image support
- Can encrypt & decrypt PNG image
- Single threaded
- Only PNG image support





