I'm trying to make a password complexity indicator for my C++/MFC project (developed using WinAPI
only.) Something akin to this:
I can do most checks, such as number of characters, contains letters, numbers, symbols, repeat characters, etc. but I also want to add a feature to see if a person used any dictionary words. That seems to be one of the most important factors that decide the strength of the password used.
(For instance, a password "Monkey123!"
is evaluated as Very Strong
if you don't account for the presence of a dictionary word, which actually makes it very weak. Otherwise, it is 10 chars long, has both small and capital letters, has numbers and a punctuation mark. The only warning besides the use of a dictionary word is that it has sequential numbers.)
So I was wondering if Windows has a list of dictionary words (pretty much like Linux does in /usr/share/dict/words
) and if so how can I tap into it?
PS. It would be really nice if this was available on Windows XP SP3 and up.
PS2. So far, all I was able to come up with was to get a long static dictionary and include it into my project. (Unfortunately it adds about 1.3 MB to it, and hard-codes it to English only.)