Skip to content

Commit d71480c

Browse files
committed
корректировка документации
1 parent 267a5c9 commit d71480c

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

app/security/password.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
"""Password hashing/verify helpers.
22
3-
- Argon2id — рекомендуемый вариант для паролей (устойчив к GPU, без утечек по времени).
4-
- Параметры берём из конфигурации (.env), чтобы их можно было тюнить под железо без правки кода.
5-
- Хеширование/проверка отправляем в threadpool, чтобы не блокировать event loop.
6-
- Ограничиваем максимальную длину пароля как простую защиту от DoS сверхдлинными строками.
3+
- Используем Argon2id для хеширования паролей.
4+
- Параметры берём из конфигурации (.env).
5+
- Хеширование и проверка идут в threadpool, чтобы не блокировать event loop.
6+
- Ограничиваем максимальную длину пароля.
77
"""
88

99
import logging

app/services/auth.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ async def authenticate_user(
4545
"""Проверяет email + пароль. Возвращает пользователя или None если данные неверны."""
4646
with tracer.start_as_current_span("auth.authenticate_user"):
4747
user = await user_repo.get_user_by_email(session, email)
48-
# Всегда прогоняем Argon2, даже если email не найден — защита от тайминг-атаки.
49-
# Без этого атакующий может по времени ответа определить, существует ли email.
48+
# Проверяем хэш всегда, чтобы не выдавать существование email по времени ответа.
5049
hashed = user.hashed_password if user else get_dummy_hash()
5150
if not await verify_password(password=password, hashed_password=hashed):
5251
return None

0 commit comments

Comments
 (0)