代码:
import hashlib
class Student:
def __init__(self, username, password):
# 初始化学生对象,存储用户名和加密后的密码
self.username = username
self.password = hashlib.sha256(password.encode()).hexdigest()
def check_password(self, password):
# 检查输入的密码是否与存储的加密密码匹配
return self.password == hashlib.sha256(password.encode()).hexdigest()
class StudentLoginSystem:
def __init__(self):
# 初始化学生登录系统,存储所有注册的学生对象
self.students = {}
def register(self, username, password):
# 注册新用户,如果用户名已存在则提示错误
if username in self.students:
print("用户名已存在,请选择其他用户名。")
else:
self.students[username] = Student(username, password)
print("注册成功!")
def login(self, username, password):
# 用户登录,验证用户名和密码
if username in self.students:
if self.students[username].check_password(password):
print("登录成功!")
else:
print("密码错误,请重试。")
else:
print("用户名不存在,请先注册。")
# 示例使用
system = StudentLoginSystem()
while True:
print("\n1. 注册\n2. 登录\n3. 退出")
choice = input("请输入选项: ")
if choice == '1':
username = input("请输入用户名: ")
password = input("请输入密码: ")
system.register(username, password)
elif choice == '2':
username = input("请输入用户名: ")
password = input("请输入密码: ")
system.login(username, password)
elif choice == '3':
print("退出系统。")
break
else:
print("无效选项,请重试。")
运行结果: