Giter VIP home page Giter VIP logo

passgen's Introduction

NewBSD License

THREE WORD - PASSWORD GENERATOR (Go version)

Application Summary

A simple application written to generate a random password created from a pool of English three letter words.

About

This application will generate password suggestions based on a pool of several hundred three letter English words. The words are selected from the pool randomly, and then displayed to the screen so you can choose one for use as a very secure password.

It is important that you combine the three letter words together to form a single string of characters (without the spaces)—to obtain a password with a minimum length on 9 characters. Longer combinations are stronger, but unfortunately not all sites or computer systems accept really long passwords still.

You can of course add digits/numbers to your password also, and punctuation characters too if you wish—but it would be wiser to keep the password simple, and easy to remember, but change it more frequently instead, using a fresh newly generated one every few weeks.

Update 21 March 2015: the larger pool of three letter words used in the c language version (instead of Go) available here: sugpass has now been added to this application also.

Update 22 Jan 2015: there is a newer version of this program with a larger pool of three letter words. The application is written in the c language (instead of Go) and is available here: sugpass

For more information see the related blog posts here:

Application Usage

The program is run from a command prompt—so on Windows using Powershell or the Command Prompt, and on Linux or MacOSX in a Terminal window using a shell such as bash. When the progam is run without any command line arguments, it displays the following output:

			THREE WORD - PASSWORD GENERATOR
			¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
• Number of three letter words available in the pool is: 573
• Number of three letter words to include in the suggested password is: 3
	• Password character length will therefore be: 9
• Mixed case passwords to be provided: false
• Offering 3 suggested passwords for your consideration:

	din wry ran
	ova ram lit
	ski yea koa

All is well

If you need to generate a 12 character password randomly created from three letter words—perhaps as part of a command line pipe, you could use this following options:

./passgen-linx64 -q -r -w 4
coobarmenspy

The full list of command line arguments available are shown below, and also when you run: passgen -help:

Usage of ./passgen:
  -c=false: 	USE: '-c=true' to get mixed case passwords [DEFAULT: lowercase]
  -h=false: 	USE: '-h' to provide more detailed help and background to this programs purpose
  -q=false: 	USE: '-q=true' to obtain just ONE password - no other screen output [DEFAULT: additional info output]
  -r=false: 	USE: '-r=true' to remove spaces in suggested passwords [DEFAULT: with spaces]
  -s=3: 		USE: '-s no.' where no. is the number of password suggestions offered [DEFAULT: 3]
  -v=false: 	USE: '-v=true.' display the application version [DEFAULT: false]
  -w=3: 		USE: '-w no.' where no. is the number of three letter words to use [DEFAULT: 3]

The command line options are explained in more detail below:

  • -c : 'c' stands for 'case'. by default the suggested passwords are shown in lowercase only. Run with -c=true to get mixed case suggestions
  • -h : 'h' stands for 'help'. if run with the -h option a screen of help text will be displayed
  • -s : 's' stands for 'suggestion'. By default three passwords will be suggested. Change by adding a different number, so -s 5 would provide five passwords.
  • -w : 'w' stands for 'word'. By default the suggested passwords consist of three x three letter words, so 9 characters in length. If you wanted a longer password length, you can chnage the number of words—so using -w 4 would provide four words instead, giving a password length of 12 characters.
  • -q : 'q' stands for 'quiet'. This option only outputs ONE password (optionally at the length specified with -w) and no other text, so useful for using with command line pipes. Use with option -r to also remove spaces in the password
  • -r : 'v' stands for 'remove'. This options removes any spaces from the password suggestions that are output
  • -v : 'v' stands for 'version'. This options only outputs the version of the application

Downloading the Application

Pre-compiled binaries are available from the Release page below. These are provide for Windows (32bit and 64bit), MacOSX (64bit), and Linux (64bit):

Compiling the Program

Assuming you already have Go installed and set-up on your computer—you only need to download the single source file 'passgen.go'. This can then be built using the command below, assuming the passgen.go file is in you current directory:

go build ./passgen.go 

There is also a Makefile that I use on a computer running Linux to cross compile the program for Linux (64 bit version), Windows (32 bit and 64 bit versions) and Mac OS X (64 bit version). This can be done (assuming you have your computer and Go set-up correctly) by also downloading the 'Makefile', and then entering:

make all

To Do

The following enhancements are planned - see the source code also for any other TODO suggestions:

  • TODO - maybe check for newer version and update if needed?
  • TODO - add -c mixed case output mode

License

The program is licensed under the "New BSD License" or "BSD 3-Clause License". A copy of the license is available here.

OTHER INFORMATION

passgen's People

Contributors

wiremoons avatar

Watchers

 avatar  avatar  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.