@@ -1,23 +1,21 @@
|
||||
import time
|
||||
import secrets
|
||||
import bcrypt
|
||||
from datetime import datetime
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy import select, func
|
||||
from passlib.context import CryptContext
|
||||
from app.models.models import User, LoginAttempt, AuditLog
|
||||
|
||||
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
||||
|
||||
BRUTE_FORCE_WINDOW = 180
|
||||
BRUTE_FORCE_MAX_ATTEMPTS = 3
|
||||
|
||||
|
||||
def hash_password(password: str) -> str:
|
||||
return pwd_context.hash(password)
|
||||
return bcrypt.hashpw(password.encode()[:72], bcrypt.gensalt()).decode()
|
||||
|
||||
|
||||
def verify_password(password: str, hashed: str) -> bool:
|
||||
return pwd_context.verify(password, hashed)
|
||||
return bcrypt.checkpw(password.encode()[:72], hashed.encode())
|
||||
|
||||
|
||||
def generate_csrf_token() -> str:
|
||||
|
||||
Reference in New Issue
Block a user