This commit is contained in:
Vic Sergeev 2026-07-04 16:14:16 +03:00
parent a385308f38
commit 9b0a20aa91
6 changed files with 275 additions and 69 deletions

View file

@ -1,9 +1,8 @@
"""Модуль аутентификации"""
import hashlib
import base64
import os
from app.database import Database
class Auth:
def __init__(self, db: Database):
self.db = db
@ -34,6 +33,23 @@ class Auth:
"""Установить, спрашивать ли пароль при входе"""
self.db.set_setting('ask_password_on_startup', '1' if value else '0')
def reset_password(self):
"""Сбросить мастер-пароль"""
self.db.set_setting('password_set', '0')
self.db.set_setting('master_password_hash', '')
self.db.set_setting('ask_password_on_startup', '1')
def change_password(self, old_password, new_password):
"""Изменить мастер-пароль"""
if self.is_password_set():
if not self.check_password(old_password):
return False, "Неверный текущий пароль"
self.set_master_password(new_password)
return True, "Пароль успешно изменен"
def _hash_password(self, password):
"""Хешировать пароль"""
"""Хешировать пароль с солью"""
# В будущем здесь будет более безопасное хеширование
# Пока используем SHA-256 для простоты
return hashlib.sha256(password.encode()).hexdigest()