CSharp examples for Security:Password
Return a rating for how strong the string is as a password. Max rating is 100
/*// ww w . j a v a 2 s .com Copyright ? Olav Christian Botterli. Dual licensed under the MIT or GPL Version 2 licenses. Date: 30.08.2011, Norway. http://www.webgrid.com */ using System.Text.RegularExpressions; using System.Text; using System.Collections.Generic; using System.Collections; using System; public class Main{ #region Methods /// <summary> /// Return a rating for how strong the string is as a password. Max rating is 100 /// </summary> /// <param name="input"></param> /// <returns></returns> public static int PasswordStrength(string input) { double total = 0; bool hasUpperCase = false; bool hasLowerCase = false; total = input.Length * 3; char currentLetter; for (int i = 0; i < input.Length; i++) { currentLetter = input[i]; if (Convert.ToInt32(currentLetter) >= 65 && Convert.ToInt32(currentLetter) <= 92) hasUpperCase = true; if (Convert.ToInt32(currentLetter) >= 97 && Convert.ToInt32(currentLetter) <= 122) hasLowerCase = true; } if (hasUpperCase && hasLowerCase) total *= 1.2; for (int i = 0; i < input.Length; i++) { currentLetter = input[i]; if (Convert.ToInt32(currentLetter) >= 48 && Convert.ToInt32(currentLetter) <= 57) //Numbers if (hasUpperCase && hasLowerCase) total *= 1.4; } for (int i = 0; i < input.Length; i++) { currentLetter = input[i]; if ((Convert.ToInt32(currentLetter) <= 47 && Convert.ToInt32(currentLetter) >= 123) || (Convert.ToInt32(currentLetter) >= 58 && Convert.ToInt32(currentLetter) <= 64)) //symbols { total *= 1.5; break; } } if (total > 100.0) total = 100.0; return (int)total; } }