This commit is contained in:
Manuel Kamper 2019-04-14 09:46:33 +02:00
parent 1c1f450b58
commit 8e2ba4d64b

View File

@ -7,17 +7,13 @@ namespace Mk0.Tools.Password
{ {
public class PasswordStrength public class PasswordStrength
{ {
public double Score = 0; private static int punkte = 0;
private static bool hatNummer = false;
private static bool hatLowercase = false;
private static bool hatUppercase = false;
private static bool hatSonderzeichen = false;
private int punkte = 0; public static double Score(string password)
private double cardinality = 0;
private bool hatNummer = false;
private bool hatLowercase = false;
private bool hatUppercase = false;
private bool hatSonderzeichen = false;
public PasswordStrength(string password)
{ {
if (string.IsNullOrEmpty(password.Trim())) if (string.IsNullOrEmpty(password.Trim()))
{ {
@ -70,13 +66,14 @@ namespace Mk0.Tools.Password
} }
} }
} }
CalculateEntropy(password.Trim()); return (punkte + CalculateEntropy(password.Trim())) / 2;
Score = (punkte + cardinality) / 2;
} }
public void CalculateEntropy(string password)
private static double CalculateEntropy(string password)
{ {
var cardinality = 0; double cardinality = 0;
if (password.Length >= 6 && hatLowercase && hatNummer && hatSonderzeichen && hatUppercase) if (password.Length >= 6 && hatLowercase && hatNummer && hatSonderzeichen && hatUppercase)
{ {
@ -104,8 +101,9 @@ namespace Mk0.Tools.Password
cardinality += 36; cardinality += 36;
} }
this.cardinality = Math.Log(cardinality, 2) * password.Length; cardinality = Math.Log(cardinality, 2) * password.Length;
} }
return cardinality;
} }
} }
} }