示例#1
0
        /// <summary>
        /// Test the mask against a password list
        /// </summary>
        /// <param name="filename">Path to a file containing passwords to test the mask against</param>
        public MaskAnalyzerResults AnalyzeMaskCoverage(string filename)
        {
            MaskAnalyzerResults results = new MaskAnalyzerResults();

            using (StreamReader reader = new StreamReader(filename))
            {
                do
                {
                    string password = reader.ReadLine();

                    if (string.IsNullOrEmpty(password))
                    {
                        continue;
                    }

                    AnalyzePassword(password, results);

                } while (!reader.EndOfStream);
            }

            return results;
        }
示例#2
0
        public MaskAnalyzerResults AnalyzeMaskCoverage(List<string> passwords)
        {
            MaskAnalyzerResults results = new MaskAnalyzerResults();

            foreach (string password in passwords)
            {
                AnalyzePassword(password, results);
            }

            return results;
        }
示例#3
0
        private void AnalyzePassword(string password, MaskAnalyzerResults results)
        {
            results.TotalPasswords++;

            if (this.Mask.IsMatch(password))
            {
                results.MatchedCount++;
            }
        }