Files
NexaDash/apps/api/src/security/password.py
T
nessi d694c8b8e3 Add project scaffolding and documentation
Add .env.example with configuration for database, Redis, security, SMTP, workers, and plugins. Add .gitignore for Python, Node.js, Next.js, Docker volumes, and IDE files. Add MIT License. Update README.md with feature overview, quick start guide, architecture description, plugin system documentation, security details, backup/restore instructions, and developer setup. Add Alembic configuration files and placeholder directories for API, web, worker, and plugin components
2026-06-21 09:31:47 +02:00

28 lines
648 B
Python

from argon2 import PasswordHasher
from argon2.exceptions import VerifyMismatchError
from apps.api.src.config import settings
ph = PasswordHasher(
time_cost=settings.ARGON2_TIME_COST,
memory_cost=settings.ARGON2_MEMORY_COST,
parallelism=settings.ARGON2_PARALLELISM,
hash_len=32,
salt_len=16,
)
def hash_password(password: str) -> str:
return ph.hash(password)
def verify_password(password: str, hashed: str) -> bool:
try:
return ph.verify(hashed, password)
except VerifyMismatchError:
return False
def check_password_needs_rehash(hashed: str) -> bool:
return ph.check_needs_rehash(hashed)