Пример #1
0
 public StrongStringPasswordPolicy()
     : base(
         new FixedLengthStrategy(STRONG_PASSWORD_POLICY_DEFAULT_LENGTH),
         StringCatalogFactory.Create(CatalogType.PrintableCharacters),
         RandomGeneratorFactory.Create())
 {
 }
Пример #2
0
 public MediumStringPasswordPolicy()
     : base(
         new FixedLengthStrategy(MEDIUM_PASSWORD_POLICY_DEFAULT_LENGTH),
         StringCatalogFactory.Create(CatalogType.CommonCharecters),
         RandomGeneratorFactory.Create())
 {
 }
 public DefaultStringPasswordPolicy()
     : base(
         LengthStrategyFactory.Create(),
         StringCatalogFactory.Create(),
         RandomGeneratorFactory.Create())
 {
 }
Пример #4
0
        private static void Generate(PasswordGeneratorArguments parsedArguments)
        {
            IPasswordPolicy <string, int> passwordPolicy = PasswordPolicyFactory.Create(parsedArguments.PasswordPolicy);

            if (parsedArguments.PasswordPolicy == PasswordPolicyType.User)
            {
                ILengthStrategy lengthStrategy = parsedArguments.LengthPolicy == LengthStrategyType.Fixed
                                                     ? new FixedLengthStrategy(parsedArguments.PasswordLength) as
                                                 ILengthStrategy
                                                     : new VariableLengthStrategy(parsedArguments.MinPasswordLength,
                                                                                  parsedArguments.MaxPasswordLength);
                passwordPolicy
                .WithLengthStategy(lengthStrategy)
                .UseCatalog(StringCatalogFactory.Create(parsedArguments.Catalog))
                .UseRandom(RandomGeneratorFactory.Create(parsedArguments.RandomGeneration));
            }

            IPasswordGenerator <string> generator = new StringPasswordGenerator(passwordPolicy);

            for (int i = 0; i < parsedArguments.Count; i++)
            {
                System.Console.WriteLine(generator.Generate());
            }
        }