https://github.com/rayhanadev/tech120-pwmanager
A "password manager" created as a prototype for demoing in-person during TECH 12000 at Purdue University.
https://github.com/rayhanadev/tech120-pwmanager
Last synced: 4 months ago
JSON representation
A "password manager" created as a prototype for demoing in-person during TECH 12000 at Purdue University.
- Host: GitHub
- URL: https://github.com/rayhanadev/tech120-pwmanager
- Owner: rayhanadev
- Created: 2025-02-19T06:39:33.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-19T07:13:17.000Z (4 months ago)
- Last Synced: 2025-02-19T07:32:37.810Z (4 months ago)
- Language: Python
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2Cool Password Manager
This is a simple demo of a password manager that can be setup and run on your
local machine. It's created to solve the problem of shoulder surfing attacks
and insecure password storage that many students face. This prototype
password manager is created using Python and an encrypted SQLite database.This project is part of the TECH 12000 course at Purdue University.

## Features
- Create a new account
- Store passwords in an encrypted database (with a master password)
- Generate a random password for a new account
- Retrieve a password for an account
- List all accounts## Installation
You can use any Python package manager, but I recommend using [`uv`](https://github.com/astral-sh/uv)
to install the dependencies and run the program.You can follow the install directions at [their documentation page](https://docs.astral.sh/uv/getting-started/installation/)
to install `uv` on your machine.After installing `uv`, you can clone this repository and install the dependencies.
```sh
git clone https://github.com/rayhanadev/tech120-pwmanager.git
cd tech120-pwmanager
uv venv
source .venv/bin/activate
uv install
```## Usage
```sh
$ uv run main.py -h
usage: main.py [-h] {add,get,list} ...2COOL Password Manager
positional arguments:
{add,get,list}
add Add a new password entry
get Retrieve a password entry
list List all stored servicesoptions:
-h, --help show this help message and exit
```To launch the GUI, run the following command:
```sh
$ uv run gui.py
```