Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact
  5. Acknowledgments

About The Project

It's safer to have a unique password for every account that we have. But, it's hard to keep track of all those passwords. So instead, just remember one password to keep track of all the passwords.

Welcome to the master pass!

By first inputting master password, you could organize a list of passwords for any account you have. It will encrypt every password listed and decrypt all passwords besides the master password.

How it Works

A unique encryption key is created from the master password. No other key will ever be the same unless it is created from the master password. This encryption key is able to encrypt and decrypt stored passwords. When a user enters a master password, the program will create an encryption key from it, and try to decrypt a password inside the text file. If the password did not get decrypted, then the encryption key is incorrect, and therefore, the master password is incorrect. If the password did get decrypted, then the encryption key is correct, and therefore, the master password is correct. This is why storing at least one person is important.

(back to top)

Optimizations

The stored passwords (not the master password) is stored in a text file. Although the passwords stored in the text file is encrypted, having access to the text file makes it vulnerable to deletion or manipulation, losing the stored passswords. Perhaps looking into other ways of storing the passwords will keep it from being manipulated. Nonetheless, the passwords are unable to be seen and the data remains hidden.

Lessons Learned

My initial problem was storing the encryption key somewhere safe without it being reused easily. Instead, I demanded the user to create the encryption key themselves through the master password. This way, the only way to get the correct encryption key wasn't to store it, but to create one that matches.

Built With

  • Python

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

To install packages, run the command:

pip install -r requirements.txt
  • pyca/cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and key derivation functions.

  • Fernet is an implementation of symmetric (aka "secret key") authenticated cryptography.

Installation

  1. Clone the repo
git clone https://github.com/clngo/Master-Password.git

(back to top)

Usage

First, input your master password to store all the passwords. Since there are no stored passwords on first use, the master password comes first. Once a master password is created, you must add at least 1 password into the text file to save the master password. Leaving an empty or nonexistent text file for the program to read will not save the master password (why keep a master password that saves 0 passwords).

(back to top)

Contact

Colin Ngo - https://www.linkedin.com/in/colin-ngo654 - cngo27@calpoly.edu

Project Link: https://github.com/clngo/bleenk

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages