Given a set of parameters of which to generate a unique password, return a set of passwords that are memorable and strong
- Using React, ask the user to given a list of parameters of which they want their password to contain
- Generate a password using said parameters
- Using a DAWG (Direct Acyclic Word Graph) to figure out what words can be used from the password
- rearrange a password to seperate words with random symbols and excess letters
- Rank each possible password and return the top X passwords for the user to use
- More complex words are ranked better (ie. Kangaroo is better than bee)
- Minimize the amount of "loose letters" (ie. letter@? is better than t@leer@t)
- Use common "leet speak" to increase the amount of usable letters if nessecary ( ie. CA$H is better that ha$c)
- more prioritization when experimenting
Initial Concept
The World's Fastest Scrabble Program
by Andrew W. Appel, and Guy J. Jacobson
from the CMU School of Computer Science
Basic implementation of DAWG
by Steve Hanov