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)
相关推荐
老百姓懂点AI22 分钟前
[RAG实战] 向量数据库选型与优化:智能体来了(西南总部)AI agent指挥官的长短期记忆架构设计
python
u0109272711 小时前
C++中的策略模式变体
开发语言·c++·算法
雨季6661 小时前
构建 OpenHarmony 简易文字行数统计器:用字符串分割实现纯文本结构感知
开发语言·前端·javascript·flutter·ui·dart
雨季6661 小时前
Flutter 三端应用实战:OpenHarmony 简易倒序文本查看器开发指南
开发语言·javascript·flutter·ui
进击的小头2 小时前
行为型模式:策略模式的C语言实战指南
c语言·开发语言·策略模式
天马37982 小时前
Canvas 倾斜矩形绘制波浪效果
开发语言·前端·javascript
Tansmjs2 小时前
C++与GPU计算(CUDA)
开发语言·c++·算法
喵手2 小时前
Python爬虫零基础入门【第九章:实战项目教学·第15节】搜索页采集:关键词队列 + 结果去重 + 反爬友好策略!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·搜索页采集·关键词队列
qx092 小时前
esm模块与commonjs模块相互调用的方法
开发语言·前端·javascript
Suchadar2 小时前
if判断语句——Python
开发语言·python