Sprawdzanie siły hasła (jak sprawdzić warunki)
Próbuję stworzyć system, który wymaga podania hasła. Jeśli wszystko jest niższe, wyższe lub num, to pieczęć jest słaba, jeśli są to dwa warunki, to jest med, a jeśli wszystkie zostały spełnione, to jest mocna. Po prostu wydaje się nie działać.
Słabi i mocni działają, ale medium nie.
Nie wiem, gdzie popełniłem błąd.
def password(): print ('enter password')
print ()
print ()
print ('the password must be at least 6, and no more than 12 characters long')
print () password = input ('type your password ....')
weak = 'weak'
med = 'medium'
strong = 'strong' if len(password) >12:
print ('password is too long It must be between 6 and 12 characters') elif len(password) <6:
print ('password is too short It must be between 6 and 12 characters')
elif len(password) >=6 and len(password) <= 12:
print ('password ok') if password.lower()== password or password.upper()==password or password.isalnum()==password:
print ('password is', weak) elif password.lower()== password and password.upper()==password or password.isalnum()==password:
print ('password is', med) else:
password.lower()== password and password.upper()==password and password.isalnum()==password
print ('password is', strong)
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Najlepszym podejściem jest użycie wyszukiwania według wyrażeń regularnych
Oto funkcja, której obecnie używam
EDIT:
Pod parą propozycja Łukasza tutaj jest aktualizacją specjalnego warunku sprawdzania symboli
Anonimowy użytkownik
Potwierdzenie od:
jest zawsze
będzie .
Po prostu pomiń część :
Co więcej, to
nigdy
nie może być jednocześnie cała góra i dół, ani cała góra i cyfry, ani całość dół i wszystkie liczby, więc drugi warunek (środek) jest niemożliwy. Może powinieneś poszukać dostępności
trochę
wielkie, małe litery i cyfry?
Jest jednak jeszcze jeden problem do rozwiązania. Sprawdzasz, czy hasło to
dosłownie
- cyfrowe, składające się wyłącznie ze znaków i/lub cyfr. Jeśli chcesz tylko sprawdzić liczby, użyj http://docs.python.org/2/libra ... digit
.
Możesz chcieć przeczytać
metody ciągów
http://docs.python.org/2/libra ... ds... Istnieją wygodne metody i , które możesz wypróbować, na przykład:
Są szybsze i mniej szczegółowe, że z , poniższe testy sprawdzą to samo:
Następną sztuczką, której chcesz się nauczyć, jest zapętlenie ciągu, abyś mógł sprawdzić poszczególne znaki:
Jeśli połączysz to z funkcją , możesz sprawdzić, czy jest
trochę
symbole będące liczbami:
Myślę, że te techniki okażą się przydatne podczas testowania siły hasła.
Anonimowy użytkownik
Potwierdzenie od:
Wyjście (próbka):
Anonimowy użytkownik
Potwierdzenie od:
mam nadzieję, że pomogę