private void DumpGeneratorResults(ICommonSettings settings, IEnumerable <String> results) { Debug.WriteLine($"Type: {settings.Type}, Length: {settings.Length}, Amount: {settings.Amount}"); foreach (String result in results) { Debug.WriteLine(result); } }
public IEnumerable <String> Generate(ICommonSettings settings, IPoolsCollector collector) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (collector == null) { throw new ArgumentNullException(nameof(collector)); } if (settings.Length < 1) { throw new ArgumentOutOfRangeException(nameof(settings), $"Settings value {nameof(ICommonSettings.Length)} must be greater than zero."); } List <String> results = new List <String>(); for (Int32 count = 0; count < settings.Amount; count++) { List <String> sources = new List <String>(); switch (settings.Type) { case CommonType.InternetPassword1: this.ApplySourcesType1(collector, settings.Length, sources); break; case CommonType.InternetPassword2: this.ApplySourcesType2(collector, settings.Length, sources); break; case CommonType.InternetPassword3: this.ApplySourcesType3(collector, settings.Length, sources); break; case CommonType.InternetPasswordX: this.ApplySourcesTypeX(collector, settings.Length, sources); break; default: throw new NotSupportedException($"Common type of \"{settings.Type}\" is not supported."); } String result = sources.Raffle(this.random); results.Add(result); } this.DumpGeneratorResults(settings, results); return(results); }
public IEnumerable<String> Generate(ICommonSettings settings, IPoolsCollector collector) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (collector == null) { throw new ArgumentNullException(nameof(collector)); } if (settings.Length < 1) { throw new ArgumentOutOfRangeException(nameof(settings), $"Settings value {nameof(ICommonSettings.Length)} must be greater than zero."); } if (settings.Amount < 1) { throw new ArgumentOutOfRangeException(nameof(settings), $"Settings value {nameof(ICommonSettings.Amount)} must be greater than zero."); } Pools pools = Pools.Nothing; if (settings.IsUppers) { pools |= Pools.Uppers; } if (settings.IsLowers) { pools |= Pools.Lowers; } if (settings.IsDigits) { pools |= Pools.Digits; } if (settings.IsExtras) { pools |= Pools.Extras; } String source = collector.Collect(pools); if (String.IsNullOrWhiteSpace(source)) { return Enumerable.Empty<String>(); } IEnumerable<String> results = null; switch (settings.Type) { case CommonType.PasswordManager1: case CommonType.PasswordManager2: case CommonType.PasswordManager3: results = this.Generate(source, settings.Length, settings.Amount); break; default: throw new NotSupportedException($"Common type of \"{settings.Type}\" is not supported."); } this.DumpGeneratorResults(settings, results); return results; }
public IEnumerable <String> Generate(ICommonSettings settings, IGeneratorSettings source) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (source == null) { throw new ArgumentNullException(nameof(source)); } if (settings.Amount < 1) { throw new ArgumentOutOfRangeException(nameof(settings), $"Settings value {nameof(ICommonSettings.Amount)} must be greater than zero."); } if (settings.Length < 1) { throw new ArgumentOutOfRangeException(nameof(settings), $"Settings value {nameof(ICommonSettings.Length)} must be greater than zero."); } IPoolsCollector collector = CollectorFactory.Create <IPoolsCollector>(); switch (settings.Type) { case CommonType.InternetPassword1: case CommonType.InternetPassword2: case CommonType.InternetPassword3: case CommonType.InternetPasswordX: return(this.GenerateInternetPasswords(settings, collector)); case CommonType.PasswordManager1: case CommonType.PasswordManager2: case CommonType.PasswordManager3: return(this.GenerateManagerPasswords(settings, collector)); case CommonType.WepKey64Bit: case CommonType.WepKey128Bit: case CommonType.WepKey152Bit: case CommonType.WepKey256Bit: case CommonType.WepKeyCustom: case CommonType.WpaKey: case CommonType.Wpa2Key: return(this.GenerateWirelessPasswords(settings, collector)); default: throw new NotSupportedException($"Common type of {settings.Type} is not supported."); } }
public static void RegisterLoggingSources(IEnumerable <EventSource> logSources, ICommonSettings settings) { var logListener = new ObservableEventListener(); foreach (var logSource in logSources) { logListener.EnableEvents( logSource, EventLevel.LogAlways, Keywords.All); } logListener.LogToFlatFile( fileName: settings.LogFilePath, formatter: new EventTextFormatter()); }
private IEnumerable <String> GenerateWirelessPasswords(ICommonSettings settings, IPoolsCollector collector) { IWirelessPasswordGenerator generator = GeneratorFactory.Create <IWirelessPasswordGenerator>(); return(generator.Generate(settings, collector)); }
private IEnumerable <String> GenerateManagerPasswords(ICommonSettings settings, IPoolsCollector collector) { IPasswordManagerGenerator generator = GeneratorFactory.Create <IPasswordManagerGenerator>(); return(generator.Generate(settings, collector)); }