Skip to content

Latest commit

 

History

History
89 lines (77 loc) · 2.65 KB

File metadata and controls

89 lines (77 loc) · 2.65 KB

Password Manager

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.

Technologies

Project is made with:

  • Python 3.9
  • Flask
  • Jinja2
  • SQLite

All requirements

Setup local environment

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

Features

  • Form data validation

  • Password quality checking



  • Adding passwords to services

  • Managing saved passwords

  • Sharing passwords to services with other users

  • Viewing passwords from other users

  • Hiding/showing passwords

  • Password change

  • Resetting a lost password