This repository contains a Python Flask web application designed to securely store email usernames and passwords. The application allows users to input their email credentials through a web interface, which are then encrypted with a salt and stored in a SQLite database. Additionally, the application generates a unique key, sends it to the user's browser, and creates a cookie.
- User-friendly web interface for inputting email credentials
- Encrypted storage of email credentials with bcrypt
- Salted hashing for added security
- Generation of unique keys using the secrets module
- Cookie creation for user sessions
- Data validation with regular expressions
- The Username, Email, and Password are validated to ensure that the username and email are not already in use, and to verify that the password is strong enough. An error message is sent back if something is not right.
- Flask
- SQLite3
- bcrypt
- secrets
- re
- flask_talisman
- Run the Flask application:
- Open a web browser and navigate to the URL displayed in the terminal (usually http://127.0.0.1:5000/).
- Input your email username and password in the provided form and click "Sing Up".
- Your email credentials will be encrypted and stored securely in the database.
- A unique key will be generated, sent to your browser, and a cookie will be created.
flask
: Flask web framework for building the web applicationFlask
: main class for creating a Flask applicationrequest
: provides access to incoming request datajsonify
: utility to create JSON responsesrender_template
: function to render HTML templates
sqlite3
: library for working with SQLite databasescrypt
: library for hashing and verifying passwordssecrets
: module for generating cryptographically secure random numbers and stringsre
: regular expressions module for data validationlask_talisman
: security headers library for Flask applicationsTalisman
: main class for configuring security headers# R Y Z R