Hash My Message is a modern, secure web application that enables end-to-end encrypted messaging through client-side encryption and decryption. Using the Web Crypto API with AES-GCM encryption, users can securely share sensitive information via encrypted text that only recipients with the correct passphrase can decrypt. Built with Next.js 15 and React 18, this application provides a user-friendly interface with zero server-side storage of sensitive data, ensuring complete privacy and security for your communications.
- Message Encryption: Securely encrypt any text message with a passphrase
- Message Decryption: Easily decrypt messages using the correct passphrase
- Unique User IDs: Anonymous user identification for session management
- Responsive Design: Beautiful UI that works on all devices
- Modern UI: Built with Tailwind CSS and Radix UI components
- Frontend: Next.js 15, React 18, TypeScript
- Styling: Tailwind CSS, Radix UI
- AI Integration: GenKit AI
- Deployment: Vercel/Netlify
- Node.js (v18 or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/alwalid54321/hash-my-message.git
cd hash-my-message- Install dependencies
npm install
# or
yarn install- Set up environment variables
You can create a .env.local file in the root directory for any environment variables you might need.
npm run dev
# or
yarn devThe application will be available at http://localhost:3000
npm run build
# or
yarn buildnpm start
# or
yarn start├── public/ # Static assets
├── src/
│ ├── app/ # App router pages
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utility functions and hooks
│ ├── ai/ # AI integration files
│ └── styles/ # Global styles
├── .env.local # Environment variables
└── next.config.ts # Next.js configuration
- Client-side encryption/decryption ensures messages never travel in plaintext
- Unique user IDs for anonymous session management
- No storage of sensitive data on servers
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.