day 23作业
作业
# 1、把登录与注册的密码都换成密文形式
# 2、文件完整性校验(考虑大文件)
# 3、注册功能改用json实现
# 4、项目的配置文件采用configparser进行
# 作业:
# 1、把登录与注册的密码都换成密文形式
info = {"tom": "202cb962ac59075b964b07152d234b70"}
def login():
import hashlib
name = input("Name:").strip()
pwd = input("Password:").strip()
m = hashlib.md5()
m.update(pwd.encode("utf-8"))
h_v = m.hexdigest()
if name in info and h_v == info[name]:
print("登陆成功")
else:
print("登陆失败")
def register():
import hashlib
global info
while True:
name = input("请输入待注册的用户名:").strip()
if name in info:
print("用户名已存在,请重新输入")
continue
pwd = input("请输入用户密码:").strip().encode("utf-8")
m = hashlib.md5(pwd)
pwd_hash = m.hexdigest()
info[name] = pwd_hash
print("注册成功")
break
# 2、文件完整性校验(考虑大文件)
import hashlib
def check_file(file_path):
import hashlib
with open(file_path, "rb") as f:
f.seek(0, 2)
# 先得到最大的文件bytes数
b_size = f.tell()
b_hash = b""
for i in range(4):
b_size //= 8
f.seek(b_size)
b_hash += f.read(5)
m = hashlib.md5(b_hash)
print(m.hexdigest())
# 3、注册功能改用json实现
import json
def register_json():
with open("info", "r", encoding="utf_8") as f:
info = json.load(f)
while True:
name = input("请输入注册名:").strip()
if name in info:
print("用户名已存在。")
continue
pwd = input("输入用户名密码:").strip()
info[name] = pwd
with open("info", "r", encoding="utf_8") as f:
json.dump(info, f)
print("注册成功、")
# 4、项目的配置文件采用configparser进行解析
import configparser
config = configparser.ConfigParser()
config.read("a.ini")