python作业

# 注册登陆系统

# 导入需要使用的模块
import os
import json
import hashlib


# 读取本地的所有账户数据
def load_account():
    if os.path.exists("account.txt"):
        return json.load(open("account.txt"))
    else:
        return {}


# 保存本地所有的账户数据
def save_account(user_info):
    json.dump(user_info, open("account.txt", "wt", encoding="utf-8"))


# 加密密码
def encrypt_password(password_):
    md5 = hashlib.md5()
    md5.update(password_.encode())
    return md5.hexdigest()

# 操作选项
UI = """
    1.注册
    2.登陆
    0.退出
    """
print(UI)
no = int(input("请输入你的选择"))
# 注册部分
if no == 1:
    dc = (
        load_account())
    account = input("请输入账户:")
    # 判断输入的账户是否已经存在
    if dc.get(account):
        print("账户已存在请重新注册")
    else:
        password = input("请输入密码:")
        confirm = input("请再次输入密码")
        if password == confirm:
            ho = hashlib.md5(password.encode())
            encrypt = ho.hexdigest()
            dc[account] = encrypt
            save_account(dc)

            print("注册成功")
        else:
            print("前后两次密码不一致,请重新注册")
# 登陆部分
elif no == 2:

    dc = load_account()
    username = input("请输入用户名: ")

    if username not in dc:
        print("该账户不存在!")

    password = input("请输入密码: ")

    if encrypt_password(password) != dc[username]:
        print("密码错误! ")
    else:
        print("登陆成功! ")

# 退出
elif no == 0:
    exit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值