Like most people (I guess), I have quite a few applicaitons and websites that I need a username and password for. I refuse to use the password manager functions in browsers or the specialized password management apps. The concern is for ID theft – having your passwords and usernames all in one place just is wrong. When banks get hacked, you know there is some serious black coding going on out there.
I prefer to keep my personal information on private platform.
The only problem is trying to remember which of many files a particular username, password, and preferred browser is stored in.
My AutoIt application had these stored in "categories", that is totally flat and requires a parameter in the command launch sequence to get the right application & category.
I wanted an application to do a search for the site I wanted to access. This isn't simple. It involves many different parts:
- Build a list of files that contain username and password pairs. There are also files that contain only links with no usernames or passwords. They need to be loaded to.
- Build a single multi-dimension array that contains only two bits of information: the category and the site name
- Build an app that can extract this information and display it in a table or list format ... and make that searchable on screen and can be sorted by category and by site name.
- Build a process that does further look up of the category for the specific site name and extract login parameters – and pass that to another process that launches the website.
The application screen above at the right shows a search based on the "dev" category. To launch, I just click the one I want and then click on Launch.
My first attempt (and it turns out the only attempt) uses AutoHotKey (AHK). The reason I started with AHK is that I expected some interaction with websites, and I no longer will use AutoIt for any website interaction.
It turns out AHK is ideal for this purpose. I was able to build the entire application in just a few hours. I've tweaked it a few times since – mainly to have the process flow more smoothly (like maximizing the browser after starting it with the command line).
Very impressed with AHK. I only wish there was a repository for sample apps and user submitted apps.