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

文章标签集合[数据库安全,数据敏感,通信安全,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. 操作各个功能模块,检测是否能达到预期效果。

更多精彩内容关注下方: 

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库安全性完整性数据库安全保护的两个不同方面。数据库安全性主要是为了防止不合法用户故意造成的破坏,而数据库完整性主要是为了防止合法用户无意中造成的破坏。从数据库的安全保护角度来看,完整性安全性是密切相关的。数据库完整性保证了数据库中数据的正确性、有效性和相容性。正确性指的是数据的合法性,例如数值型数据只能包含数字而不能包含字母。有效性指的是数据是否属于所定义域的有效范围。相容性指的是表示同一事实的两个数据应该一致,不一致即为不相容。数据库完整性约束条件是为了确保数据的完整性而定义的规则或条件。数据库管理系统(DBMS)应与操作系统达成某种意向,理清关系,分工协作,以加强DBMS的安全性数据库系统的安全保护措施包括数据库系统层次、操作系统层次、网络层次、物理层次和人员层次等多个层次的安全措施。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [【数据库原理 • 五】数据库安全性完整性](https://blog.csdn.net/liang921119/article/details/130079388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值