Example #1
0
 private bool IsStrongPassword()
 {
     if (!NewPassword.Any(char.IsUpper)) return false;
     if (!NewPassword.Any(char.IsNumber)) return false;
     if (NewPassword.Length < 8) return false;
     return true;
 }
Example #2
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var results = new List <ValidationResult>();

            if (NewPassword.Any(char.IsUpper) == false)
            {
                results.Add(new ValidationResult("Password must contain at least one upper-case letter",
                                                 new List <string> {
                    "NewPassword"
                }));
            }
            if (NewPassword.Any(char.IsLower) == false)
            {
                results.Add(new ValidationResult("Password must contain at least one lower-case letter",
                                                 new List <string> {
                    "NewPassword"
                }));
            }
            if (NewPassword.Any(char.IsDigit) == false)
            {
                results.Add(new ValidationResult("Password must contain at least one digit",
                                                 new List <string> {
                    "NewPassword"
                }));
            }
            return(results);
        }
Example #3
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);
        }