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)
相关推荐
青 春 记 忆30 分钟前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
GlueNa2SiO331 分钟前
03-Flask模板引擎Jinja2详解
笔记·python·flask
「QT(C++)开发工程师」1 小时前
C++ 11 常用for循环
开发语言·c++
我还记得那天1 小时前
0 初识C++
开发语言·c++
FfHUCisI2 小时前
Go 编译过程全景
开发语言·后端·golang
FfHUCisI2 小时前
Golang 语法分析与 AST:Parser 与 go/ast
开发语言·后端·golang
lemon_sjdk3 小时前
ObjectProperty
java·开发语言·算法
临沂GEO3 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白3 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring