-
MysqlHelper.py
from pymysql import * class MysqlHelper(object): """mysql数据库的操作""" def __init__(self, host, port, db, user, passwd, charset="utf8"): # ip self.host = host # 端口 self.port = port # 数据库名称 self.db = db # 用户名 self.user = user # 登入密码 self.passwd = passwd # 数据库格式 self.charset = charset def open(self): """链接""" # 链接数据库 self.conn = connect(host=self.host, port=self.port, db=self.db, user=self.user, passwd=self.passwd, charset=self.charset) # 创建操作数据库表的对象 self.cursor = self.conn.cursor() def close(self): """关闭链接""" # 关闭表的对象 self.cursor.close() # 关闭数据库的对象 self.conn.close() def cud(self, sql, params): """增删改""" try: # 连接数据库, 并且创建表的对象 self.open() # 根据表的对象写sql语句 self.cursor.execute(sql, params) # 提交sql语句事物 self.conn.commit() # 关闭当前对象对表的操作 self.close() print("ok") except Exception as e: print(e) def all(self, sql, params): try: self.open() self.cursor.execute(sql, params) # fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回 result = self.cursor.fetchall() self.close() return result except Exception as e: print(e) def all_one(self, sql, params): try: self.open() self.cursor.execute(sql, params) # fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组 result = self.cursor.fetchone() self.close() return result except Exception as e: print(e) -
redisTest.py
from redis import * class RedisHelper(object): def __init__(self, host, port): # 链接redis数据库 self.__redis = StrictRedis(host, port) def set(self, key, value): # 设置字符串类型的键值 self.__redis.set(key, value) def get(self, key): # 获取字符串类型的键和值 return self.__redis.get(key) -
loginTest.py
from MysqlHelper import MysqlHelper from redisTest import RedisHelper from hashlib import sha1 # 接收输入 name = input("请输入用户名:") pwd1 = input("请输入密码:") # 加密 s1 = sha1() s1.update(pwd1.encode("utf-8")) pwd2 = s1.hexdigest() # 先查看redis r = RedisHelper("localhost", 6379) m = MysqlHelper("localhost", 3306, "python3", "root", "123456") if r.get(name) is None: print("进入mysql数据库.....") # redis数据库里没有这个用户 # 现在查询mysql数据库 sql = "select passwd from users where name=%s" pwd3 = m.all_one(sql, [name]) if pwd3 is None: print("用户名不存在.....") elif pwd2 != pwd3[0]: print("密码错误....") else: print("登入成功....") # 把这条数据存到redis里 r.set(name, pwd3[0]) else: print("进入redis数据库.....") if (r.get(name).decode("utf-8")) == pwd2: print("登入成功...") else: print("密码错误...")
浙公网安备 33010602011771号