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)
相关推荐
bandaoyu几秒前
【CUDA】store/load普通访存 vs 非临时(Non-Temporal)访存
java·开发语言·redis
YuanDaima2048几秒前
图论基础原理与题目说明
数据结构·人工智能·python·算法·图论·手撕代码
2301_781571422 分钟前
Go语言如何用sqlx_Go语言sqlx数据库操作教程【入门】
jvm·数据库·python
2401_880071403 分钟前
mysql安装后如何进行初始化安全配置_mysql_secure_installation实操
jvm·数据库·python
m0_609160495 分钟前
如何创建物化视图日志_CREATE MATERIALIZED VIEW LOG记录基表DML变更.txt
jvm·数据库·python
神明9316 分钟前
如何利用 Service Worker 实现离线缓存?Vue 项目 PWA 入门实战教程
jvm·数据库·python
天天进步20158 分钟前
透视 Mission Control 源码:如何构建高性能的 Agent 实时监控架构?
开发语言
apple爱加油8 分钟前
线程相关_线程池原理
开发语言·python
小短腿的代码世界10 分钟前
Qt_Qwt深度解析:从源码到工业级性能优化
开发语言·qt·性能优化
2301_7815714211 分钟前
c++怎么在写入文本文件时自动将所有的制表符统一转换为四格空格【实战】
jvm·数据库·python