private string ValidatePassword(string NewPassword) { Random rand = new Random(); List <int> nonSelectedIndexes = new List <int>(Enumerable.Range(0, NewPassword.Length)); if (!NewPassword.Any(x => char.IsDigit(x))) { //does not contain digit char[] pass = NewPassword.ToCharArray(); int pos = nonSelectedIndexes[rand.Next(nonSelectedIndexes.Count)]; nonSelectedIndexes.Remove(pos); pass[pos] = Convert.ToChar(rand.Next(10) + '0'); NewPassword = new string(pass); } if (!NewPassword.Any(x => char.IsLower(x))) { //does not contain lower char[] pass = NewPassword.ToCharArray(); int pos = nonSelectedIndexes[rand.Next(nonSelectedIndexes.Count)]; nonSelectedIndexes.Remove(pos); pass[pos] = Convert.ToChar(rand.Next(26) + 'a'); NewPassword = new string(pass); } if (!NewPassword.Any(x => char.IsUpper(x))) { //does not contain upper char[] pass = NewPassword.ToCharArray(); int pos = nonSelectedIndexes[rand.Next(nonSelectedIndexes.Count)]; nonSelectedIndexes.Remove(pos); pass[pos] = Convert.ToChar(rand.Next(26) + 'A'); NewPassword = new string(pass); } return(NewPassword); }
public string this[string columnName] { get { inputValid = true; if (columnName == "NewPassword") { if (String.IsNullOrEmpty(NewPassword)) { return(null); } if (NewPassword.Length < 6 || NewPassword.Length > 10) { inputValid = false; return(Text.PasswordLength); } bool hasCapital = false; char[] charArray = NewPassword.ToCharArray(); foreach (char c in charArray) { if (Char.IsUpper(c)) { hasCapital = true; break; } } if (!hasCapital) { inputValid = false; return(Text.PasswordRequireCapital); } return(null); } if (columnName == "ConfirmPassword") { if (!String.IsNullOrEmpty(NewPassword) && !String.IsNullOrEmpty(ConfirmPassword) && !ConfirmPassword.Equals(NewPassword)) { inputValid = false; return(Text.PasswordMismatch); } return(null); } return(null); } }
private bool ValidatePassword() { foreach (PasswordValidationDetailsModel PVM in PasswordDetails) { string ValidationType = PVM.abbrivi; switch (ValidationType) { case "PWDLEN": { int minLength = Convert.ToInt16(PVM.minvalue); int maxLength = Convert.ToInt16(PVM.maxvalue); if (!(Convert.ToInt32(NewPassword.Length) >= minLength && Convert.ToInt32(NewPassword.Length) <= maxLength)) { GlobalVariables.DisplayMessage = "Password Length should be " + minLength + " to " + maxLength; return(false); } } break; case "PWDNUM": { int minNumericValue = Convert.ToInt16(PVM.minvalue); int maxNumericValue = Convert.ToInt16(PVM.maxvalue); int counter = 0; char[] NewPasswordArray = NewPassword.ToCharArray(); foreach (char ch in NewPasswordArray) { if (char.IsDigit(ch)) { counter++; } } if (!(counter >= minNumericValue && counter <= maxNumericValue)) { GlobalVariables.DisplayMessage = "Password should contain " + minNumericValue + " to " + maxNumericValue + " numeric values"; return(false); } } break; } } return(true); }