Skip to content

Dushyant479/Password-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Password Manager

A secure and user-friendly desktop password manager built with Python. It allows you to store, generate, and manage your passwords safely with encryption and a master password for access. The application features a clean graphical interface using Tkinter.


Features

  • Protect your passwords with a master password hashed securely using bcrypt.
  • Store all password entries in an encrypted vault using modern encryption (Fernet with PBKDF2-based keys).
  • Add, edit, delete, and view password entries with ease.
  • Generate strong passwords with customizable length.
  • Copy passwords to clipboard securely, with automatic clearing after 15 seconds.
  • Responsive and intuitive Tkinter GUI for smooth user experience.
  • Password vault stored locally in encrypted form.

Requirements

  • Python 3.7 or higher
  • cryptography library
  • bcrypt library
  • pyperclip library (for clipboard handling)
  • tkinter (usually included with Python)

Install required packages using pip:

pip install cryptography bcrypt pyperclip

text


Usage

  1. Clone or download the repository:

git clone cd

text

  1. Run the application:

python main.py

text

  1. On the first run, you will be prompted to create and confirm a master password. On subsequent runs, enter the master password to unlock your vault.

  2. Use the GUI to add, edit, or delete password entries. Each entry includes service name, username, and password.

  3. Generate strong passwords as needed and copy passwords to clipboard securely.

  4. Save your vault regularly to protect any changes.


File Structure

File Description
main.py Main application with full GUI and logic
auth.py Master password hashing and verification using bcrypt
encryption.py Encryption and decryption utilities using cryptography's Fernet
vault.py Saving and loading encrypted password vault data
utils.py Utility function to generate strong passwords

Security Details

  • Master password is securely hashed with bcrypt and stored locally.
  • Vault data is encrypted with Fernet symmetric encryption using a key derived with PBKDF2HMAC and a random salt.
  • Passwords are never stored or transmitted in plain text.
  • Clipboard is cleared automatically after 15 seconds for security.
  • Vault file is saved encrypted on disk (data/vault.enc).
  • Salt is stored separately for key derivation (data/salt.bin).

Acknowledgments


For questions, issues, or contributions, please open an issue or a pull request on GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages