Code Monkey home page Code Monkey logo

python-password-manager's Introduction

Python Password Manager

A simple local password manager written in Python and MariaDB. Uses pbkdf2 to derive a 256 bit key from a MASTER PASSWORD and DEVICE SECRET to use with AES-256 for encrypting/decrypting.

Installation

You need to have python3 to run this on Windows, Linux or MacOS

Linux

Install Python Requirements

sudo apt install python3-pip
pip install -r requirements.txt

MariaDB

Install MariaDB on linux with apt

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntuprecise main'
sudo apt-get update
sudo apt-get install mariadb-server

Create user 'pm' and grant permissions

Login to mysql as root

sudo mysql -u root

Create User

CREATE USER 'pm'@localhost IDENTIFIED BY 'password';

Grant privileges

GRANT ALL PRIVILEGES ON *.* TO 'pm'@localhost IDENTIFIED BY 'password';

Pyperclip

Pyperclip is a python module used to copy data to the clipboard. If you get a "not implemented error", follow this simple fix: https://pyperclip.readthedocs.io/en/latest/index.html#not-implemented-error

Windows

Install Python Requirements

pip install -r requirements.txt

MariaDB

Install

Follow these instructions to install MariaDB on Windows

Create user and grant privileges

  • Navigate to MariaDB bin directory
C:\Program Files\MariaDB\bin
  • Login as root with the password you chose while installation
mysql.exe -u root -p
  • Create user
CREATE USER 'pm'@localhost IDENTIFIED BY 'password';
  • Grant privileges
GRANT ALL PRIVILEGES ON *.* TO 'pm'@localhost IDENTIFIED BY 'password';

Run

Configure

You need to first configure the password manager by choosing a MASTER PASSWORD. This config step is only required to be executed once.

python config.py make

The above command will make a new configuration by asking you to choose a MASTER PASSWORD. This will generate the DEVICE SECRET, create db and required tables.

python config.py delete

The above command will delete the existing configuration. Doing this will completely delete your device secret and all your entries and you will loose all your passwords. So be aware!

python config.py remake

The above command will first delete the existing configuration and create a fresh new configuration by asking you to choose a MASTER PASSWORD, generate the DEVICE SECRET, create the db and required tables.

python-password-manager's People

Contributors

natyavidhan avatar teja156 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.