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")
posted @ 2020-03-31 22:11  nick_xm  阅读(121)  评论(0编辑  收藏  举报