Giter Site home page Giter Site logo

kaotickj / password-genie Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 38.26 MB

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: GNU General Public License v3.0

Python 86.64% C 0.28% Batchfile 0.01% Shell 0.02% Nushell 0.02% PowerShell 0.01% TeX 8.23% HTML 4.78%
master-password password-generator password-manager secure-passwords

password-genie's Introduction

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.

password-genie's People

Contributors

kaotickj avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

password-genie's Issues

packaging

There are two scripts, but no packaging. Each script should be a (testable) entrypoint.

Here is an example published package, with packaging design that works

repo with nice packaging

You are welcome to borrow the packaging. Especially the semantic versioning.

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.