【项目展示】后台管理系统、前后端不分离开发、数据库加密

Background_Management_Systeme

基于Django前后端不分离开发的后端管理系统学习

项目地址

Github项目地址

初始化设置

安装依赖

pip3 install -r requirements.txt

数据库创建

image-20230323232659140

DATABASES = {
    'default': {
        # 连接本地mysql数据库【需要下载一个第三方库:mysqlclient】
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'Background_Management_Systeme',		# 数据库名字,可以更改为自己定义的
        'USER': 'root',
        'PASSWORD': '123456',							# 数据库密码
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

# 其余选项,若是在本地创建数据库,则不需要改动;若是链接服务器,需要变更

数据库迁移

# 命令行依次输入

python manage.py makemigrations

python manage.py migrate

生成初始密码

密码表存储逻辑

数据库中存储关于用户名和密码的数据表设计如下:

  • 用户名:真实数据
  • 密码:MD5算法加密后的结果

因此初始化数据库密码表的时候,不能把密码存储为真实的密码,而应该存储原始密码经过MD5算法加密后的结果

初始化密码

  1. 找到密码表

image-20230323233929893

  1. 新增密码
用户:GSF
密码:7d716550d434a76e707377db056a9bcd

# 上述密码的真实值为:123,在用户登录页面输入该真实值,即可通过验证,完成登录

image-20230323234123928

  1. 自定义新增密码
  • MD5加密算法如下:
def md5(data_string):
    obj = hashlib.md5(settings.SECRET_KEY.encode('utf-8'))
    obj.update(data_string.encode('utf-8'))
    return obj.hexdigest()

# settings.SECRET_KEY是Django自己生成的字符密钥,可在settings.py文件内查看。即加密算法等价于:

def md5(data_string):
    obj = hashlib.md5('django-insecure-hgel4k_@i84z%dwm8!70#%!)=p#*9p#7t8h2my@*s=npzo5ku6'.encode('utf-8'))
    obj.update(data_string.encode('utf-8'))
    return obj.hexdigest()

# 新建文件,运行该函数,即可得到你创建的密码在数据库对应的存储值

# 注意:函数参数为字符类型
md5('你的密码')  

登录

运行项目

python manage.py runserver

登陆网址

http://127.0.0.1:8000/login/

image-20230323235028066

image-20230323235059126

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值