32 lines
728 B
Python
32 lines
728 B
Python
# utils/password/chongming_password.pyi
|
|||
|
|
|
||
|
|
def hash_password(password: str) -> str:
|
||
|
|
"""
|
||
|
|
对明文密码进行 Argon2id 哈希,返回 PHC 格式字符串。
|
||
|
|
|
||
|
|
Args:
|
||
|
|
password: 明文密码
|
||
|
|
|
||
|
|
Returns:
|
||
|
|
str: 形如 "$argon2id$v=19$m=19456,t=2,p=1$..." 的哈希
|
||
|
|
|
||
|
|
Raises:
|
||
|
|
ValueError: 如果密码为空或哈希过程失败
|
||
|
|
"""
|
||
|
|
...
|
||
|
|
|
||
|
|
def verify_password(password: str, password_hash: str) -> bool:
|
||
|
|
"""
|
||
|
|
验证明文密码是否与给定哈希匹配。
|
||
|
|
|
||
|
|
Args:
|
||
|
|
password: 明文密码
|
||
|
|
password_hash: 存储的 PHC 格式哈希
|
||
|
|
|
||
|
|
Returns:
|
||
|
|
bool: 匹配返回 True,否则 False
|
||
|
|
|
||
|
|
Raises:
|
||
|
|
ValueError: 如果哈希格式无效
|
||
|
|
"""
|
||
|
|
...
|