# 注册登陆系统
# 导入需要使用的模块
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()
运行实例:
1.成功注册
2.注册失败
(1).注册的账户已存在
(2)两次输入的密码不一致
3.成功登录
4,登陆失败
(1)用户不存在
(2)密码错误