Update check.py
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user