47 lines
1.4 KiB
Python

# _*_ coding : UTF-8 _*_
# @Time : 2025/01/18 02:34
# @UpdateTime : 2025/01/18 02:34
# @Author : sonder
# @File : password.py
# @Software : PyCharm
# @Comment : 本程序
import hashlib
from config.env import JwtConfig
class Password:
"""
密码工具类
"""
@classmethod
async def verify_password(cls, plain_password, hashed_password):
"""
工具方法:校验当前输入的密码与数据库存储的密码是否一致
:param plain_password: 当前输入的密码
:param hashed_password: 数据库存储的密码
:return: 校验结果
"""
salt = JwtConfig.jwt_salt
# 将盐值和密码拼接在一起
password_with_salt = (salt + plain_password).encode('utf-8')
# 使用SHA256算法对拼接后的密码进行加密
password_hashed = hashlib.sha256(password_with_salt).hexdigest()
return password_hashed == hashed_password
@classmethod
async def get_password_hash(cls, input_password: str):
"""
工具方法:对当前输入的密码进行加密
:param input_password: 输入的密码
:return: 加密成功的密码
"""
salt = JwtConfig.jwt_salt
# 将盐值和密码拼接在一起
password_with_salt = (salt + input_password).encode('utf-8')
# 使用SHA256算法对拼接后的密码进行加密
return hashlib.sha256(password_with_salt).hexdigest()