文章标签集合[数据库安全,数据敏感,通信安全,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 系统测试
- 进行一个新用户的注册,输入密码完成注册后,到数据库查看对应密码,可以得到预期结果:数据库的用户密码是通过加密之后的密码
- 分别登录管理员和用户角色,可以看到对应的功能模块不一致,通过前端限制不同角色的权限。
- 操作各个功能模块,检测是否能达到预期效果。