From 1c451016f97cb099fb76004429ddb2ce75acd5a9 Mon Sep 17 00:00:00 2001 From: Damir Date: Wed, 8 Apr 2026 00:41:53 +0300 Subject: [PATCH] update --- backend/auth.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/backend/auth.py b/backend/auth.py index eabf0af..07f499d 100644 --- a/backend/auth.py +++ b/backend/auth.py @@ -41,11 +41,27 @@ def _bcrypt_safe_password(password: str) -> str: def hash_password(password: str) -> str: - return pwd_context.hash(_bcrypt_safe_password(password)) + safe = _bcrypt_safe_password(password) + try: + return pwd_context.hash(safe) + except Exception as e: + orig_len = len(password.encode("utf-8")) + safe_len = len(safe.encode("utf-8")) + raise RuntimeError( + f"{str(e)} (orig_bytes_len={orig_len}, safe_bytes_len={safe_len}, safe_type={type(safe).__name__})" + ) from e def verify_password(password: str, password_hash: str) -> bool: - return pwd_context.verify(_bcrypt_safe_password(password), password_hash) + safe = _bcrypt_safe_password(password) + try: + return pwd_context.verify(safe, password_hash) + except Exception as e: + orig_len = len(password.encode("utf-8")) + safe_len = len(safe.encode("utf-8")) + raise RuntimeError( + f"{str(e)} (orig_bytes_len={orig_len}, safe_bytes_len={safe_len}, safe_type={type(safe).__name__})" + ) from e def create_access_token(*, user_id: str) -> str: