/
Russid
/
python_advanced
Обзор
Документация
Войти
/
Russid
/
python_advanced
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
module_06_debugging_begin/practise/work_3_1.py
49 строк
2 KB
itookyourboo
6 модуль
11 авг 2022, 00:54
11 авг 2022, 00:54
9795883
Код
Авторство
О чём код?
""" В приложении для парольной аутентификации, которое мы рассматривали, недостаточно debug-сообщений. Добавим после каждой строки с кодом в функции input_and_check_password ещё по debug-сообщению, например: f"Мы создали объект hasher {hasher!r}" после строки: "hasher = hashlib.md5()" """ 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)