"""Модуль аутентификации""" import hashlib import base64 from app.database import Database class Auth: def __init__(self, db: Database): self.db = db def set_master_password(self, password): """Установить мастер-пароль""" password_hash = self._hash_password(password) self.db.set_setting('master_password_hash', password_hash) self.db.set_setting('password_set', '1') def check_password(self, password): """Проверить мастер-пароль""" stored_hash = self.db.get_setting('master_password_hash') if not stored_hash: return True # Пароль не установлен return self._hash_password(password) == stored_hash def is_password_set(self): """Проверяет, установлен ли пароль""" return self.db.get_setting('password_set', '0') == '1' def ask_password_on_startup(self): """Спрашивать ли пароль при входе""" return self.db.get_setting('ask_password_on_startup', '1') == '1' def set_ask_password_on_startup(self, value): """Установить, спрашивать ли пароль при входе""" self.db.set_setting('ask_password_on_startup', '1' if value else '0') def _hash_password(self, password): """Хешировать пароль""" return hashlib.sha256(password.encode()).hexdigest()