Python+Django的毕业设计-基于des算法的企业用户数据安全软件项目开发实战(源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。

🎀当前专栏: Python毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

💞Java毕业设计
🌎微信小程序毕业设计

开发环境

  • 开发语言:Python
  • 数据库:mysql 5.7
  • 数据库工具:Navicat12
  • 开发软件:pycharm
  • 浏览器:谷歌浏览器

源码下载地址:

https://download.csdn.net/download/2301_76953549/87951207

论文目录

【如需全文请按文末获取联系】

在这里插入图片描述
在这里插入图片描述

一、项目简介

此次设计的系统先是利用了python来简单的搭建了一个网页系统,在网页系统上的管理功能非常重要,通过管理员用户的登录,能够看到这款程序存在的目的就是进行站内注册用户的个人信息的加密和解密的操作,利用管理员的角色可以实现DES算法的加密管理、DES算法的解密管理,以及对管理员自身信息的维护操作过程。

二、系统设计

2.1软件功能模块设计

此次设计的具体的流程图如下图所示:
在这里插入图片描述

2.2数据库设计

本次的数据库内容比较简单,由于此次的重点是来检测DES算法的过程,所以数据库仅为管理员、注册用户的信息提供存储和传递的工作,此次设计的数据库表格如下。
在这里插入图片描述

三、系统项目部分截图

3.1登录页面的设计实现

此次设计的基于des算法的企业用户数据安全系统的登录页面如下图所示,虽然此次设计的重点不在于页面设计,但是本次在页面设计也投入了一些精力,此次的背景图选择比较的科幻系,在登录框内的字体显示选择了白色,在暗色的背景下能够提供非常好的显示效果,登录的菜单栏选择用图表的形式进行展示,内容更加的生动,具体如下所示:
在这里插入图片描述

3.2管理员管理界面首页实现

管理员管理界面的首页内容比较简单,本次没有设计其他的版块内容,是通过首页来进行DES算法的概念内容以及数据加密逻辑、加密标准的简单介绍,通过介绍能够加深本次的开发印象,如下图所示:
在这里插入图片描述

3.3用户管理界面的实现

用户的管理界面中可以看到当下整个系统中存在的所有的用户列表,在列表中有用户名的信息内容、注册时使用的邮箱信息、用户的角色内容、创建的时间等,可以对所有的用户信息进行修改操作,如下图所示:
在这里插入图片描述

3.4加密模块的实现

在加密模块中,可以在右侧的主界面中看到已经存在的加密的信息内容,另外还有添加加密的菜单键,通过添加加密可以弹出新的对话框,在对话框内容可以输入明文信息,并且可以对明文进行描述点击确定可以形成加密文件,如下图所示:
在这里插入图片描述

3.5加密模块的实现

在解密模块中,通过点击解密,将上文中形成的“老鼠爱大米”对应的密文文件在该解密的密文框中进行输入,并且添加对应的描述内容可以实现正常的解密操作,如下图所示:
在这里插入图片描述

四、部分核心代码

import datetime

from django.shortcuts import render, redirect

from .models import UserTable
from django.http import JsonResponse, HttpResponseRedirect
from django.core.paginator import Paginator
from utils.mypage import Pagination


def render_change_password(req):
    info = get_session_info(req)
    return render(req, 'updatePassword.html',locals())


def get_user(request):
    """
    获取用户列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    print(page, limit)
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results = UserTable.objects.all()
        paginator = Paginator(results, limit)
        results = paginator.page(page)
        if results:
            for user in results:
                record = {
                    "id": user.user_id,
                    "name": user.name,
                    "password": user.password,
                    "email": user.email,
                    "role": user.role,
                    'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),
                    "desc": user.description,
                }
                data.append(record)
            response_data['count'] = UserTable.objects.all().count() + 1
            response_data['data'] = data
    else:
        users_all = UserTable.objects.filter(name__contains=keyword).all()
        paginator = Paginator(users_all, limit)
        results = paginator.page(page)
        if results:
            for user in results:
                record = {
                    "id": user.user_id,
                    "name": user.name,
                    "password": user.password,
                    "role": user.role,
                    "email": user.email,
                    'create_time': user.create_time
                }
                data.append(record)
            response_data['count'] = len(users_all)
            response_data['data'] = data
    return JsonResponse(response_data)


def user(request):
    info = get_session_info(request)
    return render(request, 'user.html', locals())


def get_session_info(request):
    username = request.session['username']
    return username


def login_check(request):
    response_data = {}
    name = request.GET.get('username')
    password = request.GET.get('password')
    print(name, password)
    user = UserTable.objects.filter(name=name, password=password).first()
    info = {}
    if user:
        # 将用户名存入session中
        request.session["username"] = user.name
        request.session["user_id"] = user.user_id
        # print(user.position)
        response_data['message'] = '登录成功'
        return JsonResponse(response_data, status=201)
    else:
        return JsonResponse({'message': '用户名或者密码不正确'}, status=401)


def add_user(request):
    others = UserTable.objects.filter(name=request.POST.get('username')).all()
    if len(others) > 0:
        return JsonResponse({"code": 'error!', 'message': '用户名重复!'})
    UserTable.objects.create(
        name=request.POST.get('username'),
        password=request.POST.get('password'),
        email=request.POST.get('email'),
        role=request.POST.get('role')
    )
    return JsonResponse({'msg': 'success'})


def edit_user(request):
    response_data = {}
    user_id = request.POST.get('id')
    username = request.POST.get('username')
    email = request.POST.get('email')
    role = request.POST.get('role')
    exists = UserTable.objects.filter(name=username)
    result = UserTable.objects.filter(user_id=user_id).first()
    print(result, role, email, user_id, exists)
    if len(exists) != 1:
        return JsonResponse({'msg': 'error'}, status=403)
    UserTable.objects.filter(user_id=user_id).update(
        name=username,
        email=email,
        role=role)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def del_user(request):
    user_id = request.POST.get('id')
    print(user_id)
    result = UserTable.objects.filter(user_id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除用户信息失败!', 'message': '找不到id为%s的用户' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def change_password(request):
    # 修改密码
    user = UserTable.objects.filter(name=request.session["username"]).first()
    if user.password == request.POST.get('changePassword'):
        # 修改的密码与原密码重复不予修改
        return JsonResponse({"data": "修改密码与原密码重复"}), 406
    else:
        # 不重复,予以修改
        UserTable.objects.filter(name=request.session["username"]).update(
            password=request.POST.get('changePassword'))
        # 清除session回到login界面
        del request.session['username']
        return JsonResponse({"data": "success"})


def login_out(request):
    request.session.flush()
    return HttpResponseRedirect('/')

获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微❤联系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值