47 lines
1.4 KiB
Python
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()
|