Files
swingmusic-extended/app/utils/auth.py
T
cwilvx b40f05cc7c implement CLI password recovery (hacky :omg:)
+ rewrite migrations logic
+ rename encode_password to hash_password
+ update image sizes (add medium size)
+ rename image endpoints
2024-05-11 21:26:03 +03:00

32 lines
755 B
Python

import hmac
import hashlib
from app.config import UserConfig
def hash_password(password: str) -> str:
"""
Hashes the given password using sha256 algorithm and the user id as salt.
:param password: The password to hash.
:return: The hashed password.
"""
return hashlib.pbkdf2_hmac(
"sha256", password.encode("utf-8"), UserConfig().userId.encode("utf-8"), 100000
).hex()
def check_password(password: str, hashed: str) -> bool:
"""
This function checks if the given password matches the hashed password.
:param password: The password to check.
:param hashed: The hashed password.
:return: Whether the password matches.
"""
return hmac.compare_digest(hash_password(password), hashed)