Link to GitHub Repository
Video Demo
Possible Improvements:
Allow for character repetition in order to generate passwords with more than 96 characters.
Have the passwords save to a Word document instead of a plain text file, so the given user can password-lock the file. Meaning that only the user would be able to open the document.
I am aware of the methods that allow you to password-lock a folder (which, in this case, would be the folder holding the text file with all the passwords) through either 1) zip file encryption using Terminal or 2) the creation of a disk image of the folder using Disk Utility. However, when either one is implemented, the methods do not append any passwords made in the future. This is due to the fact that they are separate entities from the continuously updated text file — they don't make the text file locked, they make a copy of the text file locked.
I skimmed through Google and found that Word documents, and some other Office 360 Apps, can be password-locked. With this in mind, I think I will try to get my code to make a Word document instead of plain text file. I found an article that mentioned a downloadable Java extension that allows you to do just that, so I will definitely have my go at it when I have the time.
PasswordGenerator Class:
SavedPassword Class (composition relationship with PasswordGenerator)
The contents of the AllKeyboardCharacters.txt file used (file created easily with TextEditor on Mac)