Добавлено хеширование паролей для аккаунтов, обновлены функции авторизации и заполнения базы данных. Теперь пароли хранятся в виде хешей, улучшена безопасность системы.

This commit is contained in:
Redsandyg
2025-06-03 11:36:54 +03:00
parent 4c4a84eefe
commit 1f11bd8012
2 changed files with 46 additions and 13 deletions

View File

@@ -5,6 +5,7 @@ from main import AUTH_DB_ENGINE, TgAgent, Ref, Sale, Transaction, Account
from sqlalchemy import text
from datetime import datetime, timedelta
from hashlib import sha256
from passlib.context import CryptContext
# Константа: список user_ids
@@ -62,6 +63,11 @@ LOGINS = [
ALL_DESCRIPTIONS = DESCRIPTIONS
# ---
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
def get_password_hash(password):
return pwd_context.hash(password)
def get_date_list(days=7):
today = datetime.utcnow().replace(hour=0, minute=0, second=0, microsecond=0)
return [today - timedelta(days=i) for i in range(days, -1, -1)]
@@ -80,7 +86,7 @@ def fill_db():
for i in range(4):
acc = Account(
login=f"user{i+1}",
password="password123", # В реальном проекте пароли должны быть захешированы!
password_hash=get_password_hash("password123"), # теперь храним хеш
name=NAMES[i % len(NAMES)],
email=f"user{i+1}@example.com",
balance=round(random.uniform(1000, 10000), 2)