Skip to content

Kacpu/password-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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