GitHunt
AT

atharvabaodhankar/Steganography-Tool

A modern, secure web application for hiding secret messages within images using advanced steganographic techniques. Built with React, Vite, and Tailwind CSS.

๐Ÿ” Steganography Studio

A modern, secure web application for hiding secret messages within images using advanced steganographic techniques. Built with React, Vite, and Tailwind CSS.

Steganography Studio
Vite
Tailwind CSS

โœจ Features

๐Ÿ”’ Secure Message Hiding

  • Password Protection: All messages are encrypted using XOR cipher before being hidden
  • LSB Steganography: Uses Least Significant Bit technique for invisible message embedding
  • Multiple Image Formats: Supports PNG, JPG, JPEG, and other common image formats

๐ŸŽจ Modern UI/UX

  • Glassmorphism Design: Beautiful glass-like interface with backdrop blur effects
  • Tab-Based Navigation: Clean separation between "Hide Message" and "Reveal Message" workflows
  • Responsive Layout: Works perfectly on desktop, tablet, and mobile devices
  • Real-time Feedback: Smart notifications and loading states for better user experience

๐Ÿ›ก๏ธ Security Features

  • Client-Side Processing: All encryption/decryption happens in your browser - no data sent to servers
  • Password Validation: Intelligent detection of incorrect passwords during decoding
  • Secure Download: Encoded images are processed locally and downloaded directly

๐Ÿš€ Quick Start

Prerequisites

  • Node.js (version 16 or higher)
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/atharvabaodhankar/Steganography-Tool.git
    cd stego-app
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Start the development server

    npm run dev
    # or
    yarn dev
  4. Open your browser
    Navigate to http://localhost:5173 to see the application

๐Ÿ“– How to Use

๐Ÿ”’ Hiding a Message

  1. Switch to "Hide Message" tab
  2. Upload an image - Click the upload area and select your image file
  3. Enter your secret message - Type the message you want to hide
  4. Set a strong password - This will encrypt your message for security
  5. Click "Hide Message in Image" - The app will process and encode your message
  6. Download the result - Save the encoded image (looks identical to the original!)

๐Ÿ”“ Revealing a Message

  1. Switch to "Reveal Message" tab
  2. Upload the encoded image - Select the image containing the hidden message
  3. Enter the correct password - Must match the password used when hiding the message
  4. Click "Reveal Hidden Message" - The secret message will be decrypted and displayed

๐Ÿ› ๏ธ Technical Details

Architecture

  • Frontend: React 19.1.1 with modern hooks and functional components
  • Styling: Tailwind CSS 4.1.11 with custom glassmorphism effects
  • Build Tool: Vite 7.1.0 for fast development and optimized builds
  • Routing: React Router DOM for navigation (if needed for future features)

Steganography Implementation

  • Algorithm: LSB (Least Significant Bit) steganography
  • Encryption: XOR cipher for message security
  • Canvas API: HTML5 Canvas for image manipulation
  • Binary Encoding: UTF-8 text to binary conversion with null terminators

Security Considerations

  • Messages are encrypted before being hidden in images
  • Password-based encryption prevents unauthorized access
  • All processing happens client-side for maximum privacy
  • No data is transmitted to external servers

๐Ÿ“ Project Structure

stego-app/
โ”œโ”€โ”€ public/                 # Static assets
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ components/        # Reusable React components
โ”‚   โ”œโ”€โ”€ pages/            # Page components (if using routing)
โ”‚   โ”œโ”€โ”€ utils/            # Utility functions
โ”‚   โ”œโ”€โ”€ App.jsx           # Main application component
โ”‚   โ”œโ”€โ”€ App.css           # Custom styles and animations
โ”‚   โ”œโ”€โ”€ index.css         # Global styles and Tailwind imports
โ”‚   โ””โ”€โ”€ main.jsx          # Application entry point
โ”œโ”€โ”€ index.html            # HTML template
โ”œโ”€โ”€ package.json          # Dependencies and scripts
โ”œโ”€โ”€ tailwind.config.js    # Tailwind CSS configuration
โ”œโ”€โ”€ vite.config.js        # Vite configuration
โ””โ”€โ”€ README.md            # This file

๐ŸŽจ Customization

Styling

The app uses Tailwind CSS with custom glassmorphism effects. You can customize:

  • Colors: Modify gradient colors in App.jsx
  • Animations: Edit custom animations in App.css
  • Layout: Adjust responsive breakpoints and spacing

Encryption

The current implementation uses XOR cipher. You can enhance security by:

  • Implementing AES encryption
  • Adding key derivation functions (PBKDF2)
  • Supporting different encryption algorithms

๐Ÿ”ง Available Scripts

  • npm run dev - Start development server with hot reload
  • npm run build - Build for production
  • npm run preview - Preview production build locally
  • npm run lint - Run ESLint for code quality checks

๐ŸŒŸ Browser Support

  • Chrome/Edge: Full support (recommended)
  • Firefox: Full support
  • Safari: Full support
  • Mobile browsers: Responsive design works on all modern mobile browsers

๐Ÿ”’ Privacy & Security

  • No Server Communication: All processing happens in your browser
  • Local Storage Only: No data is stored remotely
  • Password Protection: Messages are encrypted before hiding
  • Open Source: Code is transparent and auditable

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ License

This project is open source and available under the MIT License.

โš ๏ธ Disclaimer

This tool is for educational and legitimate privacy purposes only. Users are responsible for complying with applicable laws and regulations in their jurisdiction.

๐Ÿ†˜ Support

If you encounter any issues or have questions:

  1. Check the Issues section
  2. Create a new issue with detailed information
  3. Include browser version and steps to reproduce

Made with โค๏ธ using React, Vite, and Tailwind CSS

atharvabaodhankar/Steganography-Tool | GitHunt