pythonATM,购物车项目实战8--通用函数的使用lib/common
程序员文章站
2022-06-21 15:33:43
...
通用函数的使用lib/common:
"""
存放公共方法
"""
import hashlib
#md5加密
def get_pwd_md5(password):
md5_obj=hashlib.md5()
md5_obj.update(password.encode('utf-8'))
#加盐操作
salt='我是加盐操作123456!'
md5_obj.update(salt.encode('utf-8'))
return md5_obj.hexdigest()
# 登录认证装饰器模板
# def login_authmobao(func):
# def inner(*args,**kwargs):
# res=func(*args,**kwargs)
# return res
#
# return inner()
# 登录认证装饰器
# 装饰器的使用,为其他函数进行装饰。
def login_auth(func):
from core import src #在这里导入的好处是,避免重复导入问题
def inner(*args,**kwargs):
if src.login_user:
res=func(*args,**kwargs)
return res
else:
print("用户未登录,无法使用功能,请登录!")
src.login()
return inner()
这里的函数:
get_pwd_md5(password):
作用:1.在账号注册的时候,调用通用函数加密密码,把数据存入存储中
2.在登录的时候,输入密码后,再次调用加密函数,把密码进行加密,然后对比两次加密的内容。
进行判断信息。
# 注册接口
def register_interface(username,password,balance=15000):
#2)查看用户是否存在
#2.1)调用数据处理层中的select函数,会返回用户字典或者None
user_dic=db_handler.select(username)
#{user:user,pwd:pwd...} or None
# 若用户存在则return ,告诉用户重新输入
if user_dic:
# return(False,'用户名已经存在!')
return False,'用户名已存在!'
#3)若用户不存在,则保存用户数据
#做密码加密
password=common.get_pwd_md5(password)
#3.1 组织用户的数据的字典信息
user_dict={
'username':username,
'password':password,
'balance':balance,
# 用于记录用户流水的列表
'flow':[],
# 用于记录用户购物车
'shop_car':{},
#locked 用于记录用户是否被冻结
#False:未冻结 True:已经被冻结
#
'locked':False
}
#3.2 保存数据
db_handler.save(user_dict)
return True,f'{username}注册成功!'
登录的时候加密事项:
# 登录接口
def login_interface(username,password):
#1)先查看当前用户数据是否存在
#{用户数据字典} or None
user_dict=db_handler.select(username)
#用户判断用户是否存在
#2)判断用户是否存在
if user_dict:
#给用户输入的密码做一次加密
password=common.get_pwd_md5(password)
#3)校验密码是否一致
if password==user_dict.get('password'):
return True,f'用户:{username}登录成功!'
else:
return False,'密码错误'
return False,'用户不存在,请重新输入'
上一篇: 电音风格之Future Bass【待续】
下一篇: sed编辑器基础