Skip to content

Latest commit

 

History

History
108 lines (74 loc) · 2.82 KB

File metadata and controls

108 lines (74 loc) · 2.82 KB

Personal Password Manager

📄 Introduction

A secure, command-line password manager built with Python. Features strong AES encryption, SHA-256 hashing, and local MySQL database storage. Store, retrieve, and generate passwords with confidence using industry-standard cryptographic practices and a clean, intuitive CLI interface


🔐 Security Features

  • AES-256-CBC encryption with HMAC authentication
  • PBKDF2 key derivation (100,000 iterations)
  • Salt-based protection against rainbow table attacks
  • Device-specific secrets for additional security layer
  • No cloud storage - your passwords stay on your device

📋 Quick Start

Prerequisites

  • Python 3.8+
  • MySQL Server

Installation

  1. Clone the repository:
git clone https://github.com/MartinXCVI/password-manager.git
cd password-manager
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up your MySQL database and update src/config/db_config.py

  2. Run initial setup:

python -m src.config.config

Environment Variables

Create an .env file in the root directory.

DB_HOST=
DB_USER=
DB_PASSWORD=
DB_PORT=
DB_NAME=
DEBUG=

Usage

Add a password entry:

python -m src.password_manager add -s "Gmail" -u "https://gmail.com" -l "john@example.com"

Retrieve passwords:

python -m src.password_manager extract -s "Gmail"
python -m src.password_manager extract -s "Gmail" --copy  # Copy to clipboard

Generate secure passwords:

python -m src.password_manager generate --length 32

📚 Learn More


📜 License

This project is licensed under the MIT License.


🧑‍💻 Developer