Skip to content

Password Genie is a secure and user-friendly password management application built with Python and Tkinter. It allows users to generate strong passwords, hash and save passwords for various platforms, and retrieve them securely.

License

Notifications You must be signed in to change notification settings

kaotickj/password-genie

Password Genie

GitHub release GitHub license Python GitHub code size in bytes GitHub last commit

Password Genie is a secure and user-friendly password management application built with Python and Tkinter. It allows users to generate strong passwords, hash and save passwords for various platforms, and retrieve them securely.

Icon

Key Features:

  • Password Generation: Create random and strong passwords based on user-defined criteria.
  • Password Hashing: Hash passwords securely using SHA-256 for enhanced security.
  • Password Storage: Safely store and retrieve passwords for different platforms in an encrypted format. All saved data undergoes robust encryption, ensuring it remains confidential and secure.
  • Master Password Protection: Set and verify a master pass-key to ensure access control.

Python Library/Module Dependencies:

If you are running the program from the python source scripts, you will need to have the python library dependencies installed. Note that this is only true if running the program from source - the binaries include the dependenciess in the executable.

  • tkinter: This is a standard Python library for creating GUI applications. It is usually included with Python installations, so you don't need to install it separately. if for some reason you do not have tkinter as a standard library, you can install it with pip:
pip install tkinter
  • messagebox from the tkinter library: messagebox is a submodule of the tkinter library.
  • secrets: This module is used for generating cryptographically strong random numbers suitable for managing data such as passwords, account authentication, and security tokens. It is included in the Python standard library, so you don't need to install it separately.
  • string: This module contains a collection of string constants and utility functions. It is part of the Python standard library, so you don't need to install it separately.
  • base64: This module provides functions for encoding binary data to ASCII characters and decoding ASCII characters back to binary data. It is part of the Python standard library, so you don't need to install it separately.
  • cryptography: This library provides cryptographic recipes and primitives to Python developers. It can be installed using pip:
pip install cryptography 

Issue Reporting Policy

Before opening an issue, please review our Issue Reporting Policy.

Usage:

Set the Master Password:

Run the "set-master-password" utility to establish your master password:

  1. Enter the master password that you want to use for encrypting and retrieving saved passwords:

Enter Master Password

  1. Click "Set Master Password" button:

Set Master Password

Set Master PW Success

  1. Do not forget your master password because you will not be able to recover it, and cannot retrieve saved passwords without it.

Generate Strong Passwords:

Run the "pwgenie" utility to generate, hash, save or retrieve passwords:

  1. Verify Master Password: Enter your master password in the designated field and click "Verify Master Password" to unlock the app. The master password will be used to encrypt and retrieve saved passwords:

Enter Master PW to Verify

Verify Succesful

  1. Set the password length by changing the relevant field. The default setting is 12 characters

Set Password Length

  1. Set character requirements for generated passwords. The default setting is to generate passwords that consist of upper and lowercase letters, numbers (digits), and special characters (punctuation).

Set Character Requirements

  1. Click the "Generate Password" button to generate a password consisting of random characters using the parameters you set.

Generate Password

Save Passwords:

After generating a strong password, you can assign it to a platform and save it as encrypted text for later retrieval.

  1. Click the "Copy to Clipboard button to copy the generated password to the clipboard.

Copied to Clipboard

  1. Paste the password into the field labelled "Password:" using your keyboard hotkey

Password Field

  1. Enter the platform or site that the password is for in the field labelled "Platform:"

Platform Field

  1. Click the "Save Password" button to encrypt and save the password and the associated platform.

Retrieve Passwords:

  1. Enter and verify your master password if you haven't already done so (see above).

  2. Type the platform for which you want to retrieve the saved password into the Platform Field.

Platform Field

  1. Click the "Retrieve Password" button to decrypt and show the platform's saved password.

Decrypted Password

About the Developer:

Password Genie is developed and maintained by Kaotick Jay, a seasoned cybersecurity professional with 30 years of experience.

Try Hack Me Hack the Box

License:

Password Genie is licensed under GNU/GPL3. Feel free to contribute, modify, and distribute it in accordance with the terms of the license.

About

Password Genie is a secure and user-friendly password management application built with Python and Tkinter. It allows users to generate strong passwords, hash and save passwords for various platforms, and retrieve them securely.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published