A simple graphical user interface (GUI) tool to encode and decode hidden messages within images using steganography. This project uses Python's tkinter library for the GUI, the Pillow library for image manipulation, and supports .png and .bmp image files.
The code hides messages in images by modifying the least significant bits (LSBs) of pixel values to store binary data. During decoding, it reads these bits to reconstruct the hidden message.
- Encode Message: Hide a text message within an image.
- Decode Message: Extract the hidden text message from an encoded image.
- User-friendly GUI built with
tkinter.
Follow these instructions to set up the project on your local machine.
Ensure you have Python 3.x installed. If not, download and install it from python.org.
I would also suggest suggest setting up a python environement just to keep things clean.
-
Clone the repository:
git clone https://github.com/zeofr/PixelCipher.git
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
-
Encode a message into an image:
- Click on the
Encode Imagebutton. - Select an image file (
.pngor.bmp). - Enter the message you want to hide.
- Save the encoded image.
- Click on the
-
Decode a message from an image:
- Click on the
Decode Imagebutton. - Select the encoded image file.
- View the hidden message in a popup window.
- Click on the
.
├── LICENSE # MIT License
├── main.py # Main script with the GUI application
├── requirements.txt # List of dependencies
└── README.md # Project documentation
- The image must have enough capacity to store the message. If the message is too long, the application will notify you.
- Only
.pngand.bmpfiles are supported to ensure lossless image quality.
- Select an image (e.g.,
example.png). - Input a message like
Maki Zenin best. - Save the resulting encoded image as
encoded_example.png.
- Select the encoded image (
encoded_example.png). - View the hidden message (
Maki Zenin best).