Skip to content

Latest commit

Β 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Secure Password Manager

A simple and secure Password Manager built using Python. It provides a graphical interface to securely store, manage, generate, and retrieve passwords.

πŸ“Œ Features

  • πŸ”‘ Master password protection
  • πŸ”’ AES-256-GCM encryption for stored passwords
  • πŸ—„οΈ SQLite database for storing password information
  • 🎲 Secure password generator
  • πŸ’ͺ Password strength checker
  • 🚨 Password breach checking
  • πŸ” Search saved passwords
  • πŸ‘οΈ Show/Hide password option
  • πŸ“‹ Copy password to clipboard
  • ⏱️ Automatic session lock
  • πŸ“€ Export password data to JSON
  • πŸ—‘οΈ Add, retrieve, update, and delete passwords

πŸ› οΈ Technologies Used

  • Python
  • Tkinter – Graphical User Interface
  • SQLite3 – Database
  • Cryptography – Password encryption
  • AES-256-GCM – Encryption method
  • PBKDF2-HMAC-SHA256 – Key derivation
  • Base64 – Secure data encoding

πŸ“‚ Project Structure

Secure-Password-Manager/
β”‚
β”œβ”€β”€ main.py
β”œβ”€β”€ passwords_secure.db
└── README.md

βš™οΈ Requirements

Make sure Python is installed on your computer.

Install the required library:

pip install cryptography

Tkinter and SQLite3 are included with most Python installations.

▢️ How to Run

  1. Clone the repository:
https://github.com/bhavyweb3/Secure-Password-Manager.git
  1. Open the project folder:
cd YOUR-REPOSITORY
  1. Install the required package:
pip install cryptography
  1. Run the application:
python main.py

πŸ” How It Works

The application uses a master password to protect access to stored passwords.

Passwords are encrypted before being stored in the SQLite database. The project uses AES-256-GCM encryption and PBKDF2-HMAC-SHA256 for secure key generation.

The application also provides a secure password generator and checks password strength.

πŸ—„οΈ Database

The application uses a local SQLite database:

passwords_secure.db

The database stores information such as:

  • Service name
  • Username
  • Encrypted password
  • Salt
  • Initialization Vector (IV)
  • Authentication tag
  • Created and updated time

Passwords are not stored as plain text.

πŸ”‘ Security Features

  • AES-256-GCM encryption
  • Secure random password generation
  • Strong master password validation
  • PBKDF2 key derivation
  • Automatic session timeout
  • Clipboard auto-clear
  • Password strength analysis

🚨 Breach Monitoring

The project includes a password breach checking feature. The current implementation uses a built-in list and simulated breach checking for demonstration purposes.

πŸ‘¨β€πŸ’» Author

Bhavya Goel

B.Tech Computer Science – Blockchain

πŸ“„ License

This project is created for educational and academic purposes.

ScreenShots

image image image image

About

A secure Python-based Password Manager with a Tkinter GUI, SQLite database, AES-256-GCM encryption, master password protection, secure password generation, strength analysis, breach monitoring, auto-lock sessions, and encrypted password storage.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages