/
Russid
/
python_advanced
Обзор
Документация
Войти
/
Russid
/
python_advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
module_06_debugging_begin/materials/password_checker.py
41 строка
1 KB
sergei.krotov
Added materials (module_06)
10 сен 2020, 23:16
10 сен 2020, 23:16
5b8e1aa
Код
Авторство
О чём код?
import getpass import hashlib import logging logger = logging.getLogger("password_checker") def input_and_check_password(): logger.debug("Начало input_and_check_password") password: str = getpass.getpass() if not password: logger.warning("Вы ввели пустой пароль.") return False try: hasher = hashlib.md5() hasher.update(password.encode("latin-1")) if hasher.hexdigest() == "098f6bcd4621d373cade4e832627b4f6": return True except ValueError as ex: logger.exception("Вы ввели некорректный символ ", exc_info=ex) return False if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG) logger.info("Вы пытаетесь аутентифицироваться в Skillbox") count_number: int = 3 logger.info(f"У вас есть {count_number} попыток") while count_number > 0: if input_and_check_password(): exit(0) count_number -= 1 logger.error("Пользователь трижды ввёл не правильный пароль!") exit(1)