python练习

要求
1 输入要登录的账户和密码

2 读取保存在文件中的账户信息 dc

3 判断用户输入的账户是否存在dc.get(account)

4 将用户输入的密码进行加密

5 再去判断dc[account] == 加密的密码

# 注册登录系统
import hashlib
import json
import os


# 账户新是一个保存在文件中字典
def load_account(path):
    if os.path.exists(path):
        return json.load(open(path, "rt", encoding="utf-8"))
    else:
        return {}


# 将用户信息字典保存到硬盘中
def save_account(account_info, path):
    json.dump(account_info, open(path, "at", encoding="utf-8"))


UI = """
1.注册
2.登陆
0.退出
"""

while True:
    print(UI)
    select = int(input("请输入你的选择:"))
    if select == 1:
        pass
        # 注册
        # 用输入账户密码,确认密码
        account = input("请输入账户:")
        dc = load_account("account.txt")
        if dc.get(account):
            print("该账户已存在,请重新注册")
        else:
            passwort = input("请输入密码:")
            confirm = input("请再次输入密码:")
            if passwort == confirm:
                # 密码加密
                hs_obj = hashlib.md5(passwort.encode())
                dc[account] = hs_obj.hexdigest()
                # 将账户密码保存到文件
                save_account(dc, "account.txt")
            else:
                print("前后两次密码输入不一致")
    elif slect2
account = input("请输入账户:")
passwort = input("请输入密码:")
# 输入要登录的账户和密码
def passwort(passwort):
        sah_signature = hashlib.sha256(passwort.encode()).hexdigest()
        return sah_signature



def login():
    try:
        with open ('account.txt') as file:
            dc = json.load(file)
    except FileNotFoundError:
        print("没发现账户文件,报玩")
        return
    except json.JSONDecodeError:
        print("啊八八八八")
        if account not in dc:
            print("没有该账户呢,亲!")
            # 读取保存在文件中的账户信息 dc
            # 判断用户输入的账户是否存在dc.get(account)
        else:
          passwort == passwort(dc)

          # 将用户输入的密码进行加密

        if dc[account] ==  passwort:
              print("登陆成功了呢,亲")
        else:
              print("你干嘛,哎呦。。。")
        # 再去判断dc[account] == 加密的密码
        pass
    elif select == 0:
        sys.exit()
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值