A Python-based secure user registration system with a modern PyQt5 GUI that implements multi-layer encryption for password protection.
- Multi-layer Encryption: SHA-256 → DES → AES → RSA encryption chain
- Secure Storage: Encrypted user data stored in Excel files
- Session Management: Secure login/logout functionality
- Input Validation: Real-time validation of user credentials
- Modern Design: Professional dark theme with gradient backgrounds
- Responsive Layout: Clean, intuitive interface with glassmorphic cards
- Interactive Elements: Smooth hover effects and focus states
- Accessibility: WCAG AA compliant color contrast ratios
- Real-time Feedback: Visual success/error messages
- User Management: Complete CRUD operations for user accounts
- Live Encryption: Encrypt any value on-demand through the GUI
- User Table: View all registered users with status indicators
- Data Persistence: Automatic loading of existing users on startup
The application features a modern, professional color scheme:
- Deep indigo gradient backgrounds for visual depth
- Vibrant cyan primary actions (#06b6d4) for clear CTAs
- Semi-transparent glassmorphic cards for a contemporary look
- High contrast text for optimal readability
- Smooth transitions and hover effects for polish
See STYLE_GUIDE.md and COLOR_REFERENCE.md for detailed design documentation.
- Python 3.7+
- pip (Python package manager)
pip install PyQt5 pandas openpyxl pycryptodomecd CryptoApp
python main.py- Login/Register: Start at the login screen or create a new account
- Registration: Username (min 3 chars) + Password (min 8 chars)
- Home Dashboard: After login, access:
- Encryption tool (encrypt any text value)
- User table (view all registered accounts)
- Session controls (logout, refresh)
CryptoApp/
├── main.py # Application entry point
├── crypto_engine.py # Backend logic & encryption
├── ui_login.py # Login page UI
├── ui_register.py # Registration page UI
├── ui_home.py # Home dashboard UI
├── models.py # User data model
├── user_manager.py # User CRUD operations
├── Encryption.py # Multi-layer encryption
├── users.xlsx # Encrypted user database
├── README.md # This file
├── STYLE_GUIDE.md # Complete design system
├── COLOR_REFERENCE.md # Quick color palette reference
└── COLOR_IMPROVEMENTS.md # Design change documentation
- STYLE_GUIDE.md: Complete design system with all colors, spacing, typography
- COLOR_REFERENCE.md: Quick reference card for developers
- COLOR_IMPROVEMENTS.md: Detailed before/after comparison
- Frontend: PyQt5 (QtWidgets)
- Backend: Python 3.x
- Database: Excel (pandas + openpyxl)
- Encryption: pycryptodome (AES, DES, RSA)
- Hashing: hashlib (SHA-256)
- Password Input → SHA-256 Hash
- SHA-256 Hash → DES Encryption
- DES Cipher → AES Encryption
- AES Cipher → RSA Encryption
- Final RSA Output → Stored in Excel
- Modern gradient background
- Clean card-based layout
- Real-time error validation
- Password confirmation
- Minimum length validation
- Success/error feedback
- Welcome header with user info
- Live encryption tool
- User management table
- Action buttons (Logout, Refresh)
✅ Professional indigo/cyan palette
✅ WCAG AA accessibility compliance
✅ Consistent across all pages
✅ Modern glassmorphic effects
✅ Smooth hover/focus transitions
✅ Clear visual feedback
✅ Intuitive navigation
✅ Error handling with styled messages
This project is part of a secure authentication system demonstration.
When contributing to the UI:
- Follow the color palette in COLOR_REFERENCE.md
- Maintain consistent spacing and border radius values
- Ensure all text meets WCAG AA contrast standards
- Test hover/focus states on all interactive elements
Version: 2.0
Last Updated: November 26, 2025
Status: ✅ Production Ready with Modern UI