Добавлено хеширование паролей для аккаунтов, обновлены функции авторизации и заполнения базы данных. Теперь пароли хранятся в виде хешей, улучшена безопасность системы.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user