GithubHelp home page GithubHelp logo

tboydston / gedpg Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4 KB

Ged.pg generates repeatable, determanistic passwords from a single master password though your terminal. This allows you to create a different password for each site or application you use without relying on 3rd party password managers.

License: MIT License

PHP 100.00%

gedpg's Introduction

Good Enough Deterministic Password Generator ( Ged.pg )

Ged.pg generates repeatable, determanistic passwords from a single master password though your terminal. This allows you to create a different password for each site or application you use without relying on 3rd party password managers.

Why "Good Enough"

Ged.pg relys on functions such as 'sha256', ASCII conversion of strings, and other basic functions that are availble in all major languages in order to make the results reproducable if one follows the underlining logic. This means avoiding language and environment specific seeded sudo random number generators that might have created more reproducably random results. That said, without knowing your master password it would be functionally impossible to reproduce it from a resulting individual password. Individual passwords are also ordered distinctly enough to make pattern based brute force attacks unrealistic.

Using Ged.pg

Create a folder and clone the Ged.pg project. Then navigate to the folder and run gedpg.php

php gedpg.php

You will be prompted for your master password. This password should be long and memorable.

Enter password followed by return.
Password:
Confirm password:

After confirming your password you will be asked for your password index or if this is a new password you can create a random one by submitting 'r'.

Enter password index or type 'r' to return a random index: r

Next enter how long you would like the password to be.

Enter length of password to generate( Up to 64 ): 16

Your new password will be generated and copied to the clipboard( Command+v or Ctrl+v to paste it. ) and can be pasted in the password field.

You will be provided with the index and length of the password formated as [index]/[length] for example 78152/16 as well as the last 6 characters of the hash used to create the password. Write these down with the name of the site/service they were used on and save them someplace safe. You will need these to reproduce the password. Everytime you generate a password confirm the 6 hash characters are the same. This means the password was generated successfully.

If you would like to generate another password without re-inputting your master password enter "Y".

Password copied to clipboard. Index: 7814163/16 End of Hash: afa992
Create Another? [y:n]:

If you already have the index and length of a previous password you can generate a password directly buy adding these after the file name in run command.

php passGen.php 7814163/16

Aliasing

If you would like to access Ged.pg directly from the command line using the command "gedpg" you can create an alias by doing the following.

Mac

vi ~/.bash_profile

Then add the following line to the bottom.

alias gedpg='/usr/local/bin/php /your/path/to/folder/gedpg.php'

And reload your .bash_profiles

source ~/.bash_profile

gedpg's People

Contributors

tboydston avatar

Watchers

 avatar

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.