from passlib.context import CryptContext # Password hashing context using bcrypt pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") def hash_password(password: str) -> str: """ Hash a plain password using bcrypt. Args: password: Plain text password Returns: Hashed password string """ return pwd_context.hash(password) def verify_password(plain_password: str, hashed_password: str) -> bool: """ Verify a plain password against a hashed password. Args: plain_password: Plain text password to verify hashed_password: Hashed password from database Returns: True if password matches, False otherwise """ return pwd_context.verify(plain_password, hashed_password)