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)
相关推荐
Wyz2012102421 小时前
SQL中如何处理GROUP BY的不可排序问题_ORDERBY与聚合
jvm·数据库·python
叶子野格21 小时前
《C语言学习:编程例题》8
c语言·开发语言·c++·学习·算法·visual studio
Java面试题总结21 小时前
Python 入门(四)- Openpyxl 操作 Excel 教程
开发语言·python·excel
Polar__Star21 小时前
jsoup如何读取html
jvm·数据库·python
smj2302_7968265221 小时前
解决leetcode第3901题好子序列查询
python·算法·leetcode
gCode Teacher 格码致知21 小时前
Javascript提高:Math.round 详解-由Deepseek产生
开发语言·javascript
a95114164221 小时前
怎么防范通过phpMyAdmin上传WebShell_禁止into outfile权限
jvm·数据库·python
2401_8858850421 小时前
群发彩信接口怎么开发?企业级彩信发送说明
前端·python
InfinteJustice21 小时前
如何统计SQL分组汇总数据_详解GROUP BY与HAVING用法
jvm·数据库·python
Freak嵌入式21 小时前
aiohttps异步HTTPS库:uPyPI+MicroPython一键安装
人工智能·python·网络协议·http·https·micropython