Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / desktop / WinForms

Simple Password Manager with Google API validation

4.00/5 (4 votes)
15 Apr 2013CPOL2 min read 19K   323  
This is an alternative for Simple Password Manager Using System.Security

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. 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)