Passman(py)

A simple password manager written in Python, using the cryptography library.

Project Details

Passmanpy is my first ever coding project that I actually used on a daily basis. Even though I am still adding more features, I like its current state enough to add it to my website.

Description

I made this project while in college and still deciding what my technical niche is. Thus, in an effort to combine security and programming I created my own password manager. Initially I thought this would be an easy project, I would just need to make a "simple" login and if the user was authenticated they can see all of their stored passwords. Unfortunately, this is nowhere close to how secure password storage actually works. Upon researching how a password manager works I realized that I had no clue about how I would even begin to create this project. So, the first thing I learned when tackling this project is how to read documentation. This was the most valuable lesson I could've learned because without documentation you are lost. So I took time to learn how to effectively navigate documentation which lead to me discovering Python's cryptography package and the different useful functions it provides. This skyrocketed my progress as now I have the tools, I just need to allow them to work together. Next, I learned the difference between symmetric and asymmetric key cryptography and their use cases. With this information I was able to create my own password manager and after testing it I've started using it on my headless servers as a method of keeping information safe.

How it works:

1. User runs passman, passman asks you to provide a decryption key. Then creates your database and vault locally.

2. Passman restarts itself, then prompts the user to log in

3. Once logged in, you will see passman's menu

Tech Used: Python, PyCryptodome

View Source on GitHub