protected override void Initialize()
        {
            this.WellKnownITypeNameAutoRegistration<ContainerControlledLifetimeManager>(WellKnownAppParts.Manager);
            this.Container.RegisterType<IApplicationPrincipal, ThreadApplicationPrincipal>(new ContainerControlledLifetimeManager());

            var configurationSource = new DictionaryConfigurationSource();
            var builder = new ConfigurationSourceBuilder();
            builder.ConfigureCryptography()
                .EncryptUsingHashAlgorithmProviderNamed(UserManager.HashInstance)
                .WithOptions
                    .UsingHashAlgorithm<Zetetic.Security.Pbkdf2Hash>()
                /*.SetAsDefault()*/; // do not want Pbkdf2Hash (low speed algorithm) to be default
            builder.UpdateConfigurationWithReplace(configurationSource);

            var configurator = new UnityContainerConfigurator(this.Container);
            EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource);
        }
        protected override void Initialize()
        {
            this.WellKnownITypeNameAutoRegistration <ContainerControlledLifetimeManager>(WellKnownAppParts.Manager);
            this.Container.RegisterType <IApplicationPrincipal, ThreadApplicationPrincipal>(new ContainerControlledLifetimeManager());

            var configurationSource = new DictionaryConfigurationSource();
            var builder             = new ConfigurationSourceBuilder();

            builder.ConfigureCryptography()
            .EncryptUsingHashAlgorithmProviderNamed(UserManager.HashInstance)
            .WithOptions
            .UsingHashAlgorithm <Zetetic.Security.Pbkdf2Hash>()
            /*.SetAsDefault()*/;     // do not want Pbkdf2Hash (low speed algorithm) to be default
            builder.UpdateConfigurationWithReplace(configurationSource);

            var configurator = new UnityContainerConfigurator(this.Container);

            EnterpriseLibraryContainer.ConfigureContainer(configurator, configurationSource);
        }
        protected override void Arrange()
        {
            base.Arrange();

            var sourceBuilder = new ConfigurationSourceBuilder();

            sourceBuilder.ConfigureCryptography()
            .EncryptUsingDPAPIProviderNamed("DPapi Provider")
            .EncryptUsingHashAlgorithmProviderNamed("HashAlgoProvider")
            .EncryptUsingKeyedHashAlgorithmProviderNamed("keyed hash provider")
            .EncryptUsingSymmetricAlgorithmProviderNamed("Symm Instance Provider")
            .EncryptUsingHashAlgorithmProviderNamed("Hash Provider 2");


            DictionaryConfigurationSource source = new DictionaryConfigurationSource();

            sourceBuilder.UpdateConfigurationWithReplace(source);

            CryptoConfiguration = (CryptographySettings)source.GetSection(CryptographySettings.SectionName);
            CryptographyModel   = SectionViewModel.CreateSection(Container, CryptographySettings.SectionName, CryptoConfiguration);
        }
        protected override void Arrange()
        {
            base.Arrange();

            ConfigureCryptography = ConfigurationSourceBuilder.ConfigureCryptography();
        }