Introduction
The core engine of this tip can be found here (http://www.codeproject.com/Articles/15750/Simple-Password-Manager-Using-System-Security?msg=4541034#xx4541034xx). For sure, this is a tremendous utility application to manage the different passwords that we need to remember. Furthermore, the simpler approach of the code helps the beginner get a faster and firmer jumpstart into .NET cryptography namespace and security concepts.
This is an extension tip for the primary one (http://www.codeproject.com/Articles/15750/Simple-Password-Manager-Using-System-Security). All original credits to the original author
Background
The intent of this extension article is to help it augment the functionality of determining the strength of the password against the industry standard Google's API. The selected password is queried against Google webservice and based on the response received, an appropriate message is shown to the user. Google's Password API is straight-forward and simple. It takes the password as a string (querystring) and returns a number from 1 through 4 indicating poor to strong. This article uses WebClient.DownloadString to grab the output, determine the strength and show the same to the user.
Using the code
I have also made two other minor changes in the code. Cryptocore.cs declares a few of the members as protected whereas the class itself is declared sealed. This will trigger a compiler warning because the protected access modifier does not sound logical on a sealed class. I have fixed this by changing the access modifier to private.
I hope that the primary article and the extension would be of good value for developers and users alike.
Points of Interest
People can consider improving the UI for password entry depending on the webservice' output. I have been using either WebClient DownloadData or DownloadFile hitherto and now I discovered that for simple output, we now have a WebClient.DownloadString that does the trick. Remember but it just returns the body of the response.