This project presents a secure and user-friendly Registration-and-Login-System implemented in Python, incorporating file handling techniques. Designed for educational purposes, the system offers user registration, login verification, and password retrieval functionalities, ensuring a seamless user experience.
- User Registration: The system validates email/username and password inputs, storing user credentials securely in a file.
- User Login: User credentials are verified against stored data, granting access upon successful validation.
- Forgotten Password Retrieval: Users can retrieve passwords by providing their username.
- Python 3
- Run the ipynb file:
Registration_&_Login_System.ipynb
- Choose between registration or login.
- Enter your email/username and password as prompted.
- For registration, valid inputs are stored securely after validation.
- For login, credentials are cross-checked against stored data.
Stage 1: Registration
- Validate email/username:
- Must contain "@" followed by a "."
- Cannot have "." immediately after "@"
- Should not start with special characters or numbers
- Validate password:
- Must be between 5 and 16 characters
- Requires at least one special character, digit, uppercase, and lowercase character
Stage 2: Data Storage
- Validated username and password securely stored in a file.
Stage 3: Login
- Validate user-provided username and password against stored data.
- If credentials do not exist, prompt the user to register.
- If "forgot password" is chosen, retrieve the original password based on username (if in file) and allow the user to set a new password.
- If no match is found, guide the user to register.
- Python Programming: Developed the entire system using Python.
- File Handling: Implemented secure data storage and retrieval using file handling techniques.
- Data Validation: Ensured user inputs met specific criteria for registration and login.
Contributions and suggestions are welcome! Please open an issue or pull request if you have any feedback.