Project made for Data Security course. Its purpose was to learn about mechanisms and best practises for creating secure web apps. It includes authentication, secure password storage and sharing passwords with other users.
Security used:
- hashing the user's password with sha256 followed by hashing with bcrypt,
- slowing down password verification,
- symmetric encryption of stored passwords to services with the AES algorithm,
- session consistency check using CSRF tokens,
- monitoring of failed login attempts.
Project is made with:
- Python 3.9
- Flask
- Jinja2
- SQLite
Install all requirements:
pip install -r requirements.txt
Create database from the python shell:
>>> from app import db
>>> db.create_all()
Run the app:
python -m flask run