20 lines
439 B
Python
20 lines
439 B
Python
from __future__ import annotations
|
|
|
|
from argon2 import PasswordHasher
|
|
from argon2.exceptions import VerifyMismatchError
|
|
|
|
_ph = PasswordHasher()
|
|
|
|
|
|
def hash_password(password: str) -> str:
|
|
return _ph.hash(password)
|
|
|
|
|
|
def verify_password(password_hash: str, password: str) -> bool:
|
|
try:
|
|
return _ph.verify(password_hash, password)
|
|
except VerifyMismatchError:
|
|
return False
|
|
except Exception:
|
|
return False
|