python用户管理系统(加密)

在用户管理系统中使用哈希算法对用户密码进行加密处理

python 复制代码
import hashlib

users = []

# 用户类,包含基本信息
class User:
    def __init__(self, name, password, email=None):
        self.name = name
        self.password = self._encrypt_password(password)  # 加密密码
        self.email = email  # 可选的电子邮件字段

    def _encrypt_password(self, password):
        # 使用SHA-256哈希函数对密码进行加密
        sha256 = hashlib.sha256()
        sha256.update(password.encode('utf-8'))
        return sha256.hexdigest()

    def __str__(self):
        return f"User(Name: {self.name}, Password: {self.password}, Email: {self.email})"

# 用户管理系统
class UserManager:
    def __init__(self):
        self.users = []

    def add_user(self, user):
        self.users.append(user)
        print(f"User {user.name} added successfully.")

    def get_user(self, name):
        for user in self.users:
            if user.name == name:
                return user
        return None

    def list_users(self):
        for user in self.users:
            print(user)

user_manager = UserManager()

# 添加用户
user1 = User('张三', 'password123')
user2 = User('李四', 'lisi963')
user_manager.add_user(user1)
user_manager.add_user(user2)

# 列出所有用户
print("List of users:")
user_manager.list_users()

# 根据用户名获取用户信息
lisi = user_manager.get_user('李四')
if lisi:
    print(lisi)
相关推荐
cch89186 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
荒川之神7 小时前
拉链表概念与基本设计
java·开发语言·数据库
chushiyunen7 小时前
python中的@Property和@Setter
java·开发语言·python
禾小西7 小时前
Java中使用正则表达式核心解析
java·python·正则表达式
yoyo_zzm7 小时前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
小樱花的樱花7 小时前
C++ new和delete用法详解
linux·开发语言·c++
froginwe117 小时前
C 运算符
开发语言
fengfuyao9858 小时前
低数据极限下模型预测控制的非线性动力学的稀疏识别 MATLAB实现
开发语言·matlab
摇滚侠8 小时前
搭建前端开发环境 安装 nodejs 设置淘宝镜像 最简化最标准版本 不使用 NVM NVM 高版本无法安装低版本 nodejs
java·开发语言·node.js