Exemple #1
0
        /// <summary>
        /// Generates and returns a password as a protected string.
        /// </summary>
        /// <param name="prf">Password profile.</param>
        /// <param name="crsRandomSource">Cryptographic random source.</param>
        /// <returns>The generated password.</returns>
        public override ProtectedString Generate(PwProfile prf, CryptoRandomStream crsRandomSource)
        {
            UserConfig              config           = UserConfig.Deserialize(prf.CustomAlgorithmOptions);
            SystemConfig            sysConfig        = new SystemConfig();
            RandomUtil              random           = new RandomUtil(crsRandomSource);
            IRepositoryFactory      factory          = new FileRepositoryFactory(config, sysConfig);
            IPhraseRepository       repo             = factory.Make(random);
            ISpecialCharsRepository specialCharsRepo = factory.MakeSpecialChars(random);

            IPhraseGenerator generator = new PhraseGenerator(config, repo, specialCharsRepo);

            return(generator.Generate());
        }
Exemple #2
0
 public void SetUp()
 {
     this.config           = new UserConfig();
     this.repo             = new StubDicewareRepository();
     this.specialCharsRepo = new StubSpecialCharsRepository();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="PhraseGenerator"/> class.
 /// </summary>
 /// <param name="config">A config instance.</param>
 /// <param name="repository">A phrase repository instance.</param>
 /// <param name="specialCharsRepo">A special chars repository instance.</param>
 public PhraseGenerator(UserConfig config, IPhraseRepository repository, ISpecialCharsRepository specialCharsRepo)
 {
     this.Config           = config;
     this.Repo             = repository;
     this.SpecialCharsRepo = specialCharsRepo;
 }