用户管理系统-python实现

本文介绍了如何使用面向对象的方式实现一个用户管理系统,包括用户注册、登录功能,以及密码的SHA-256加密处理。管理员和普通用户可以通过菜单选项进行操作。
摘要由CSDN通过智能技术生成

用面向对象的方法实现,对用户密码进行加密

import hashlib
import json

class UserManager:
    def __init__(self):
        self.users = {}

    def register(self, username, password):
        if username in self.users:
            print("用户名已存在。")
            return False
        # 对密码进行加密
        encrypted_password = self.encrypt_password(password)
        self.users[username] = encrypted_password
        print("注册成功。")
        return True

    def login(self, username, password):
        if username not in self.users:
            print("用户名不存在。")
            return False
        encrypted_password = self.encrypt_password(password)
        if self.users[username] == encrypted_password:
            print("登录成功。")
            return True
        else:
            print("密码错误。")
            return False

    def list_users(self):
        print("所有注册用户:")
        for username in self.users:
            print(username)

    @staticmethod
    def encrypt_password(password):
        # 使用SHA-256算法进行加密
        sha256 = hashlib.sha256()
        sha256.update(password.encode('utf-8'))
        return sha256.hexdigest()

# 管理员操作
def admin_menu(user_manager):
    while True:
        print("\n管理员菜单:")
        print("1. 查看所有用户")
        print("2. 返回")
        choice = input("请选择操作:")
        if choice == '1':
            user_manager.list_users()
        elif choice == '2':
            break
        else:
            print("无效的选择,请重新输入。")

# 用户操作
def user_menu(user_manager):
    while True:
        print("\n用户菜单:")
        print("1. 注册")
        print("2. 登录")
        print("3. 返回")
        choice = input("请选择操作:")
        if choice == '1':
            username = input("请输入用户名:")
            password = input("请输入密码:")
            user_manager.register(username, password)
        elif choice == '2':
            username = input("请输入用户名:")
            password = input("请输入密码:")
            user_manager.login(username, password)
        elif choice == '3':
            break
        else:
            print("无效的选择,请重新输入。")

# 主程序
def main():
    user_manager = UserManager()

    while True:
        print("\n欢迎使用用户管理系统:")
        print("1. 用户操作")
        print("2. 管理员操作")
        print("3. 退出")
        choice = input("请选择操作:")
        if choice == '1':
            user_menu(user_manager)
        elif choice == '2':
            admin_menu(user_manager)
        elif choice == '3':
            break
        else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    main()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值