/py-manager

Password manager built with python, using ChaCha20-poly1305 and PKDF

Primary LanguagePythonApache License 2.0Apache-2.0

PyManager

forthebadge made-with-python

What is PyManager ?

PyManager is a simple password manager using Argon2 hashing, with ChaCha20 encryption using a password derived key generated with Scrypt from a master and a login passwords.

Features

  • Storage is made possible with a SQLite database;
  • Only encrypted version of a password is keeped;
  • Access requires login;
  • Simple console GUI;
  • For security reasons, password input is invisible.

How it works ?

  • First run

    Running the script for the first time, or everytime the database is deleted and there is a need to create a new one, you will be asked to provide a new master and login passwords. Of this two, only the hash version of the login one will be stored for future logins.

    This allows you to save passwords encrypted with different master passwords while keeping them only to your self.

  • Once the database is created

    Now that the database is created, login password will be necessary everytime you want to access it.

    At login ou will be asked the master password also, in case you want to process a password (encrypt a new one or decrypt an existing one).

    !! Attention !!
    Master password is asked only at login, soo if you have passwords encrypted with a master different from the one you just provided you wont be able to decrypt them. So pay attention to what passwords you may want to access to encrypt or decrypt when providing the master password at login.

Needed modules

Images

First time running

Login

Menu

Adding a new password

Retrieve a stored passsword

Password editing menu

Listing all stored passwords

Database tables

Password storing database (Hashes) structure

Login password storage database (Login) structure