public void TestPartTwoValidNumber()
        {
            PasswordScanner ps = new PasswordScanner();

            Assert.That(ps.IsValidPassword2(112233), Is.EqualTo(true));
            Assert.That(ps.IsValidPassword2(111122), Is.EqualTo(true));
        }
        public void TestPartTwoInvalidNumber()
        {
            PasswordScanner ps = new PasswordScanner();

            Assert.That(ps.IsValidPassword2(123444), Is.EqualTo(false));
            Assert.That(ps.IsValidPassword2(124445), Is.EqualTo(false));
            Assert.That(ps.IsValidPassword2(111443), Is.EqualTo(false));
            Assert.That(ps.IsValidPassword2(111444), Is.EqualTo(false));
        }
        void UpdatePasswordMeter(string password)
        {
            if (string.IsNullOrEmpty(password))
            {
                progressBar.Value     = 0;
                passwordMeterTxt.Text = string.Empty;
                return;
            }

            PasswordScanner scanner = new PasswordScanner();

            PasswordBoss.PasswordScanner.Strength s = (PasswordBoss.PasswordScanner.Strength)scanner.scanPassword(password);
            switch (s)
            {
            case (PasswordBoss.PasswordScanner.Strength.VERYWEAK):
                progressBar.Value      = 10;
                progressBar.Foreground = Application.Current.Resources["passwordWeakColor"] as Brush;
                passwordMeterTxt.Text  = "Weak";
                break;

            case (PasswordBoss.PasswordScanner.Strength.WEAK):
                progressBar.Value      = 30;
                progressBar.Foreground = Application.Current.Resources["passwordNormalColor"] as Brush;
                passwordMeterTxt.Text  = "Normal";
                break;

            case (PasswordBoss.PasswordScanner.Strength.GOOD):
                progressBar.Value      = 50;
                progressBar.Foreground = Application.Current.Resources["passwordMediumColor"] as Brush;
                passwordMeterTxt.Text  = "Medium";
                break;

            case (PasswordBoss.PasswordScanner.Strength.STRONG):
                progressBar.Value      = 75;
                progressBar.Foreground = Application.Current.Resources["passwordStrongColor"] as Brush;
                passwordMeterTxt.Text  = "Strong";
                break;

            case (PasswordBoss.PasswordScanner.Strength.VERY_STRONG):
                progressBar.Value      = 100;
                progressBar.Foreground = Application.Current.Resources["passwordVeryStrongColor"] as Brush;
                passwordMeterTxt.Text  = "Very strong";
                break;

            default:
                progressBar.Value     = 0;
                passwordMeterTxt.Text = string.Empty;
                break;
            }
        }
Exemplo n.º 4
0
 public PasswordGeneratorViewModel(IResolver resolver)
 {
     this.resolver         = resolver;
     randomGenerator       = new RandomPasswordGenerator();
     scanner               = new PasswordScanner();
     inAppAnalyitics       = resolver.GetInstanceOf <IInAppAnalytics>();
     CopyCommand           = new RelayCommand(CopyButtonClick);
     CreatePasswordCommand = new RelayCommand(CreatePasswordClick);
     ShowHistoryCommand    = new RelayCommand(ShowHistoryClick);
     HideHistoryCommand    = new RelayCommand(HideHistoryClick);
     ShowHistoryVisibility = true;
     HideHistoryVisibility = false;
     AllGeneratedPasswords = new ObservableCollection <string>();
 }
Exemplo n.º 5
0
        public string SolvePartOne(string[] input)
        {
            string[] range          = input[0].Split("-");
            int      validPasswords = 0;

            PasswordScanner ps = new PasswordScanner();

            for (int i = Int32.Parse(range[0]); i <= Int32.Parse(range[1]); i++)
            {
                if (ps.IsValidPassword(i))
                {
                    validPasswords++;
                }
            }

            return(validPasswords.ToString());
        }
Exemplo n.º 6
0
        private List <SecurityScoreData> GetSecurityScoreItems(string type)
        {
            PasswordScanner scanner = new PasswordScanner();
            IPBData         pbData  = _resolver.GetInstanceOf <IPBData>();
            var             sites   = pbData.GetSecureItemsByItemType(SecurityItemsDefaultProperties.SecurityItemType_PasswordVault);

            sites = sites.Where(p => !p.SharedWithUser && p.Data != null).ToList();

            var weakPwdStrength = new List <PasswordScanner.Strength> {
                PasswordScanner.Strength.VERYWEAK, PasswordScanner.Strength.WEAK
            };

            if (type == SecurityScoreItemType.week)
            {
                return(sites.Where(p => weakPwdStrength.Contains(scanner.scanPassword(p.Data.password))).Select(s => new SecurityScoreData {
                    id = s.Id, siteName = s.Name, siteUri = s.LoginUrl, password = s.Data.password, userName = !string.IsNullOrWhiteSpace(s.Data.username) ? s.Data.username : s.Data.email, LastModifiedDate = s.LastModifiedDate, ReEnterPassword = s.Data.require_master_password
                }).ToList());
            }

            if (type == SecurityScoreItemType.duplicate)
            {
                var pwdList = sites.Where(p => !string.IsNullOrWhiteSpace(p.Data.password)).GroupBy(p => p.Data.password).Select(g => new { Key = g.Key, Count = g.Count() }).Where(o => o.Count > 1).Select(s => s.Key);
                return(sites.Where(p => pwdList.Contains(p.Data.password)).Select(s => new SecurityScoreData {
                    id = s.Id, siteName = s.Name, siteUri = s.LoginUrl, password = s.Data.password, userName = !string.IsNullOrWhiteSpace(s.Data.username) ? s.Data.username : s.Data.email, LastModifiedDate = s.LastModifiedDate, ReEnterPassword = s.Data.require_master_password
                }).ToList());
            }

            if (type == SecurityScoreItemType.old)
            {
                return(sites.Where(p => p.LastModifiedDate < DateTime.Today.AddMonths(-6)).Select(s => new SecurityScoreData {
                    id = s.Id, siteName = s.Name, siteUri = s.LoginUrl, password = s.Data.password, userName = !string.IsNullOrWhiteSpace(s.Data.username) ? s.Data.username : s.Data.email, LastModifiedDate = s.LastModifiedDate, ReEnterPassword = s.Data.require_master_password
                }).ToList());
            }

            if (type == SecurityScoreItemType.all)
            {
                return(sites.Select(s => new SecurityScoreData {
                    id = s.Id, siteName = s.Name, siteUri = s.LoginUrl, password = s.Data.password, userName = !string.IsNullOrWhiteSpace(s.Data.username) ? s.Data.username : s.Data.email, LastModifiedDate = s.LastModifiedDate, ReEnterPassword = s.Data.require_master_password
                }).ToList());
            }

            throw new InvalidOperationException(string.Format("Invalid imte type {0}", type));
        }
        public void TestValidNumber()
        {
            PasswordScanner ps = new PasswordScanner();

            Assert.That(ps.IsValidPassword(112345), Is.EqualTo(true));
        }
        public void TestNoDigitsPair()
        {
            PasswordScanner ps = new PasswordScanner();

            Assert.That(ps.IsValidPassword(123456), Is.EqualTo(false));
        }
        public void TestNonIncreasingOrder()
        {
            PasswordScanner ps = new PasswordScanner();

            Assert.That(ps.IsValidPassword(112343), Is.EqualTo(false));
        }