Esempio n. 1
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }