数据库安全性与完整性设计

news2025/1/16 9:03:52

文章标签集合[数据库安全,数据敏感,通信安全,MD5,盐加密]

1  系统设计 

1.1设计目标

(1)确定系统中需要保护的敏感数据和通信内容;

(2)设计合适的签名、加密和解密算法;

(3)实现前端和后端的签名、加密和解密功能;

(4)配置合适的密钥管理和证书管理机制;

(5)进行系统测试和安全性评估。

1.2 需求描述

1.2.1  信息要求:

(1)用户信息: 包括用户名、密码等个人身份信息。

(2)图书信息: 包括书名、作者、出版社等图书相关信息。

(3)借阅信息: 包括借阅时间、归还时间等借阅记录。

(4)通信内容: 所有用户与系统之间的通信内容,包括登录请求、图书查询请求、借阅请求等。

1.2.2  处理要求:

(1)用户密码处理: 用户密码应采用MD5加密算法进行存储,确保用户密码的安全性。

(2)图书管理: 管理员具有添加、修改、删除图书的权限,确保图书信息的准确性和完整性。

(3)用户管理: 管理员具有添加、修改、删除用户的权限,确保用户信息的准确性和完整性。

(4)借阅信息管理: 记录每次借阅和归还操作,包括借阅时间、归还时间等,以便追溯用户借阅历史。

1.2.3  安全性与完整性要求:

(1)MD5加密存储:系统将用户密码进行MD5加密存储,以增强用户密码的安全性。这一措施有助于防止密码泄露及提高系统对用户身份验证的保障。

(2)角色权限限制:对不同的角色赋予不同的权限,防止无权限角色对数据进行修改。

1.3开发和运行环境选择

开发工具: 前台开发语言为JAVA,后台数据库为MySql

运行环境:windows 11操作系统 

2  网络安全相关设计

2.1网络安全相关原理论述

2.2.1  MD5盐加密算法原理:

(1)盐生成: 对每个用户生成一个唯一的盐,通常采用随机数生成器产生。

(2)盐与密码结合: 将用户输入的密码与盐进行拼接。

(3)MD5哈希运算: 对拼接后的密码和盐进行MD5哈希运算,生成哈希值。 (4)存储哈希值和盐: 将生成的哈希值和盐存储在数据库中。

2.2.2  安全性原理:

(1)防止彩虹表攻击: 盐的引入使得即使相同的密码也会产生不同的哈希值,从而防止攻击者通过预先计算的彩虹表来破解密码。

(2)提高密码破解难度: 每个用户使用独特的盐,即便密码相同,由于盐的不同,破解者需要分别攻击每个用户的密码,增加了破解难度。

(3)降低暴力破解速度: 盐的引入使得暴力破解攻击难以有效进行,因为攻击者需要针对每个用户尝试不同的盐。

MD5盐加密算法是一种相对较简单但有效的密码存储方法,尽管MD5本身存在弱点,但结合盐的使用可以提高密码存储的安全性。

2.2相应功能概要设计

加密算法的实现体现在用户注册登录模块,当用户输入密码后,会对密码进行MD5盐加密,以加密过后的密码存储到数据库中,无法通过数据库数据直接获得真实的用户密码,而在用户登录过程中,通过对比用户输入的密码,和对数据库用户密码的解密结果来保证用户的安全登录。

3  图书管理系统详细设计

本系统是一个图书管理系统,实现对图书、用户和借阅信息的有效管理,分为管理员和用户两个角色,以满足图书馆的日常运作需求。

3.1.1  管理员功能:

3.1.1.1 图书管理

(1)添加图书:管理员可以添加新的图书信息,包括图书编号、书名、作者、出版社、出版日期、借阅状态等。

(2)删除图书:管理员可以删除不再馆藏的图书信息。

3.1.1.2 用户管理

(1)添加管理员:管理员可以添加新的管理员信息

(2)删除用户:管理员可以删除不再使用系统的用户信息。

3.1.1.3 借阅管理

(1)查看借阅记录:管理员可以添加新的管理员信息

(2)修改借阅状态:管理员可以改变图书的借阅状态。

3.1.2  用户功能:

3.1.1.1 用户注册

3.1.1.2 图书借阅

3.1.1.3 图书归还

4  系统测试

  1. 进行一个新用户的注册,输入密码完成注册后,到数据库查看对应密码,可以得到预期结果:数据库的用户密码是通过加密之后的密码
  2. 分别登录管理员和用户角色,可以看到对应的功能模块不一致,通过前端限制不同角色的权限。
  3. 操作各个功能模块,检测是否能达到预期效果。

更多精彩内容关注下方: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

遗传算法(Genetic Algorithm,GA)求解不闭合多旅行商问题(提供MATLAB代码)

一、遗传算法(GA)介绍 遗传算法(Genetic Algorithm,GA)是一种模拟自然界生物进化过程的优化算法。它通过模拟生物的遗传、变异和选择等机制,来搜索问题的最优解。 遗传算法的基本思想是通过对候选解进行编…

matlab绘制雷达图和二维FFT变换图

1、内容简介 略 49-可以交流、咨询、答疑 matlab绘制雷达图和二维FFT变换图 NMO组及NORMAL组 RNFL层、GCL层、IPL层、GCC层、ORL层做雷达图(共10张) 2、内容说明 略 NMO组及NORMAL组 RNFL层、GCL层、IPL层、GCC层、ORL层请分别做雷达图&#xff08…

CAS5.3使用JPA实现动态注册服务

cas同时支持cas协议和OAuth2协议,官方默认是通过扫描json文件的形式注册客户端服务,但是此种方式需要重启服务才能生效,此次我们将使用JPA来完美实现动态注册服务,如果不知道cas如何部署,可以擦看之前的文章 cas-client基于CAS协议客户端搭建-CSDN博客 cas-server5.3自定义密…

Vue 卸载eslint

卸载依赖 npm uninstall eslint --save 然后 进入package.json中,删除残留信息。 否则在执行卸载后,运行会报错。 之后再起项目。

HTTPS对HTTP的加密过程

1、HTTPS是在HTTP的基础上,引入了一个加密层(SSL),对数据进行保护,HTTP 是明文传输的(不安全,很可能会被运营商通过referer劫持,或者黑客通过修改链接来窃数据) 2、加密…

Typora结合PicGo + 使用Github搭建个人免费图床

文章目录 一、国内图床比较二、使用Github搭建图床三、PicGo整合Github图床1、下载并安装PicGo2、设置图床3、整合jsDelivr具体配置介绍 4、测试5、附录 四、Typora整合PicGo实现自动上传 每次写博客时,我都会习惯在Typora写好,然后再复制粘贴到对应的网…

redis数据结构源码分析——压缩列表ziplist(I)

前面讲了跳表的源码分析,本篇我们来聊一聊另外一个重点结构——压缩列表 文章目录 存储结构字节数组结构节点结构 压缩编码zipEntryzlEntry ZIP_DECODE_PREVLENZIP_DECODE_LENGTH API解析ziplistNew(创建压缩列表)ziplistInsert(插入)ziplistDelete(删除)ziplistFi…

.NET Core使用NPOI导出复杂,美观的Excel详解

前言: 这段时间一直专注于数据报表的开发,当然涉及到相关报表的开发数据导出肯定是一个不可避免的问题啦。客户要求要导出优雅,美观的Excel文档格式的来展示数据,当时的第一想法就是使用NPOI开源库来做数据导出Excel文档&#xf…

第四节:Vben Admin登录对接后端getUserInfo接口

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 文章目录 系列文章目录前言一、回顾Vben…

推荐莹莹API管理系统PHP源码

莹莹API管理系统PHP源码附带两套模板,PHP版本要求为5.6至8.0之间,已测试通过的版本为7.4。 需要安装PHPSG11加密扩展。 已测试:宝塔/主机亲测成功搭建! 演示地 址 : runruncode.com/php/19698.html 安装说明(适用于宝…

【经验】J-link v8固件修复

jlink v8 重新烧录解决不识别usb,灯不亮的问题。参考了网上的饿jlink v8固件烧录指导。 打开JLINK后盖,主流的有以下两种结构: 擦除芯片并进入编程模式 1.使用USB线连接JLINK与PC机,以提供JLINK工作电源 2.短接图中ERASE(A)的两…

Excel工作表控件实现滚动按钮效果

实例需求:工作表中有多个Button控件(工作表Form控件)和一个ScrollBar控件(工作表ActiveX控件,名称为ScrollBar2),需要实现如下图所示效果。点击ScrollBar控件实现按钮的滚动效果,实际…

STM32 4位数码管和74HC595

4位数码管 在使用一位数码管的时候,会用到8个IO口,那如果使用4位数码管,难道要使用32个IO口吗?肯定是不行的,太浪费了IO口了。把四个数码管全部接一起共用8个IO口,然后分别给他们一个片选。所以4位数码管共…

Java+SpringBoot+Vue+MySQL:疫情隔离酒店管理的全面技术解决方案

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

有哪些副业渠道?

夸克网盘这个软件出来好久了,官方前不久才开通了推广渠道,这就给了我们以此赚钱的机会。具体时间应该是在2022年12月份。 所谓夸克网盘拉新,就是夸克网盘为了抢占市场,与其他网盘竞争对手(百度网盘、迅雷网盘等&#…

2024-2-23-进程线程的通信作业

1>信号代码 要求: &#xff08;1&#xff09; 源代码: #include <myhead.h> void handler(int signo) {if (signo SIGINT){printf("用户按下了ctrl c键\n");} } int main(int argc, char const *argv[]) {// //忽略// if (signal(SIGINT, SIG_IGN) SI…

AI论文速读 | 【综述】(LLM4TS)大语言模型用于时间序列

题目&#xff1a;Large Language Models for Time Series: A Survey 作者&#xff1a;Xiyuan Zhang , Ranak Roy Chowdhury , Rajesh K. Gupta and Jingbo Shang 机构&#xff1a;加州大学圣地亚哥分校&#xff08;UCSD&#xff09; 网址&#xff1a;https://arxiv.org/abs/…

istio系列教程

istio学习记录——安装https://suxueit.com/article_detail/otVbfI0BWZdDRfKqvP3Gistio学习记录——体验bookinfo及可视化观测https://suxueit.com/article_detail/o9VdfI0BWZdDRfKqlv0r istio学习记录——kiali介绍https://suxueit.com/article_detail/pNVbfY0BWZdDRfKqX_0K …

Gemini 模型将被引入Performance Max

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

计算机设计大赛 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习图像风格迁移 - opencv python 该项目较为新颖&#xff0c;适合作为竞赛课题…