diff --git a/LabMD_2/check.py b/LabMD_2/check.py index bfee758..177a176 100644 --- a/LabMD_2/check.py +++ b/LabMD_2/check.py @@ -1,52 +1,40 @@ -def checkLength(passw): - if 20 >= len(passw) >= 8: +def checkLength(psw): + if 20 >= len(psw) >= 8: return 0 - elif len(passw) > 20: - return len(passw) - 20 - return 8 - len(passw) + elif len(psw) > 20: + return len(psw) - 20 + return 8 - len(psw) -def checkRepeating(passw): +def checkRepeating(psw): steps = 0 - i = 0 tempSteps = 1 - while (len(passw) > 1): - x = passw[0] - if passw[1] == x: + while len(psw) > 1: + x = psw[0] + if psw[1] == x: tempSteps += 1 - passw = passw[1:] + psw = psw[1:] else: - if tempSteps > 2: - steps += tempSteps - 2 + steps = tempSteps - 2 + steps if tempSteps > 2 else steps tempSteps = 1 - passw = passw[1:] - if steps == 0: - return 0 + psw = psw[1:] return steps -def checkComposition(passw): - # lowercase, uppercase, numeric, special +def checkComposition(psw): values = [0, 0, 0, 0] - counter = 0 - for x in passw: - if x.islower(): - values[0] = 1 - if x.isupper(): - values[1] = 1 - if x.isnumeric(): - values[2] = 1 + for x in psw: + values[0] = 1 if x.islower() else values[0] + values[1] = 1 if x.upper() else values[1] + values[2] = 1 if x.isnumeric() else values[2] if x in ['@', '_', '!', '#', '$', '%', '^', '&', '*', '(', ')', '<', '>', '?', '/', '\'', '|', '}', '{', '~', ':', '-']: values[3] = 1 - for x in values: - if x == 1: - counter += 1 - return 4 - counter + return values.count(0) -def checkPassword(passw): - x = max(checkLength(passw), checkComposition(passw), checkRepeating(passw)) +def checkPassword(psw): + x = max(checkLength(psw), checkComposition(psw), checkRepeating(psw)) if x: return x return "good"