Advertisement
giganciprogramowania

kzg python wersja rozszerzona

Aug 19th, 2022 (edited)
489
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #Komunikaty
  2. HASLO_BARDZO_MOCNE='Podane hasło jest bardzo mocne ponieważ jest długie, zawiera duże, małe litery, cyfry i znaki specjalne'
  3. HASLO_MOCNE='Podane hasło jest mocne ponieważ jest dość długie, zawiera duże litery lub małe litery lub cyfry'
  4. HASLO_SLABE='Podane hasło jest słabe ponieważ jest za krótkie'
  5. HASLO_POPULARNE='Wygląda na to że twoje hasło to popularna sekwencja, hasło jest mało unikatowe, zmień je!'
  6.  
  7. haslo=input("Podaj hasło, które chcesz sprawdzić: ")
  8. wielkieLitery=0
  9. maleLitery=0
  10. cyfry=0
  11. znakiSpecjalne=0
  12. listaZnakow=[]
  13.  
  14. for znak in haslo:
  15. if znak.isupper():
  16. wielkieLitery+=1
  17. elif znak.islower():
  18. maleLitery+=1
  19. elif znak.isdigit():
  20. cyfry+=1
  21. else:
  22. znakiSpecjalne+=1
  23.  
  24. if znak not in listaZnakow:
  25. listaZnakow.append(znak)
  26.  
  27. print('###############Analiza hasła###############')
  28. print(f'Długość hasła: {str(len(haslo))} \n'
  29. f'Liczba wielkich liter: {str(wielkieLitery)} \n'
  30. f'Liczba małych liter: {str(maleLitery)} \n'
  31. f'Liczba cyfr: {str(cyfry)} \n'
  32. f'Liczba znaków specjalnych: {str(znakiSpecjalne)} \n'
  33. f'Liczba unikatowych znaków: {str(len(listaZnakow))}')
  34.  
  35.  
  36. procentUnikatow= len(listaZnakow)*100 /len(haslo)
  37. if len(haslo)>=14 and procentUnikatow >= 40 and wielkieLitery !=0 and maleLitery !=0 and cyfry !=0 and znakiSpecjalne !=0:
  38. print(HASLO_BARDZO_MOCNE)
  39. elif len(haslo)<14 and len(haslo)>=8 and procentUnikatow >= 40 and wielkieLitery !=0 and maleLitery !=0 and cyfry !=0:
  40. print(HASLO_MOCNE)
  41. elif len(haslo)<8:
  42. print(HASLO_SLABE)
  43. else:
  44. print(HASLO_POPULARNE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement