一个基本的用户系统如下:
# 定义用户类
class User:
def __init__(self, name, password):
self.name = name
self.password = password
# 创建用户列表
users = []
# 添加新用户
def add_user(name, password):
new_user = User(name, password)
users.append(new_user)
print(f"用户 {name} 已成功添加。")
# 验证用户登录
def login(username, password):
for user in users:
if user.name == username and user.password == password:
print("登录成功!")
return True
print("用户名或密码错误。")
return False
# 主程序
while True:
print("\n欢迎使用用户管理系统")
print("1. 添加用户")
print("2. 登录")
print("3. 退出")
choice = input("请选择一个操作(1/2/3):")
if choice == "1":
name = input("请输入用户名:")
password = input("请输入密码:")
add_user(name, password)
elif choice == "2":
username = input("请输入用户名:")
password = input("请输入密码:")
login(username, password)
elif choice == "3":
print("感谢使用,再见!")
break
else:
print("无效的选择,请重新选择。")
优化方面:
用户类应该包含必要的信息,例如用户名和密码。为了增强安全性,密码应进行哈希处理再进行存储。我们可以使用hashlib
库中的sha256
哈希函数来实现这一点
加密后:
# 定义用户类
import hashlib
class User:
def __init__(self, name, password):
self.name = name
self.password = self._encrypt_password(password)
def _encrypt_password(self, password):
sha256 = hashlib.sha256()
sha256.update(password.encode('utf-8'))
return sha256.hexdigest()
# 创建用户列表
users = []
def add_user(name, password):
new_user = User(name, password)
users.append(new_user)
print(f"用户 {name} 已成功添加。")
# 验证用户登录
def login(username, password):
for user in users:
if user.name == username and user.password == password:
print("登录成功!")
return True
print("用户名或密码错误。")
return False
# 主程序
while True:
print("\n欢迎使用用户管理系统")
print("1. 添加用户")
print("2. 登录")
print("3. 退出")
choice = input("请选择一个操作(1/2/3):")
if choice == "1":
name = input("请输入用户名:")
password = input("请输入密码:")
add_user(name, password)
elif choice == "2":
username = input("请输入用户名:")
password = input("请输入密码:")
login(username, password)
elif choice == "3":
print("感谢使用,再见!")
break
else:
print("无效的选择,请重新选择。")
测试: