38 lines
1006 B
Python
38 lines
1006 B
Python
import hashlib
|
||
|
||
def hash_password(password: str) -> str:
|
||
"""
|
||
使用 MD5 对密码进行加密(不推荐用于生产环境)
|
||
|
||
参数:
|
||
password (str): 明文密码
|
||
|
||
返回:
|
||
str: MD5 加密后的密码(32 位十六进制字符串)
|
||
"""
|
||
# 创建 MD5 哈希对象
|
||
md5 = hashlib.md5()
|
||
|
||
# 更新哈希对象内容(需将字符串编码为 bytes)
|
||
md5.update(password.encode('utf-8'))
|
||
|
||
# 获取十六进制表示的哈希值
|
||
return md5.hexdigest()
|
||
|
||
|
||
def check_password(plain_password: str, hashed_password: str) -> bool:
|
||
"""
|
||
验证密码是否匹配(MD5 版本)
|
||
|
||
参数:
|
||
plain_password (str): 明文密码
|
||
hashed_password (str): MD5 加密后的密码
|
||
|
||
返回:
|
||
bool: 密码是否匹配
|
||
"""
|
||
# 计算明文密码的 MD5 值
|
||
plain_password_md5 = hash_password(plain_password)
|
||
|
||
# 比较两个 MD5 值是否相同
|
||
return plain_password_md5 == hashed_password |