[关键词] 数据安全;加密技术;AES;APIHOOK
1.4 研究内容
本次设计目标是在Windows环境下完成一个完整的数据加密系统,设计内容将包括较高层的的UI设计,AES加密算法以及自动加密系统的设计与实现,最终创建一个拥有良好用户体验的自动化的数据加密系统。同时,通过这次毕业设计,也会对一些常用的加密算法有一些初步的了解,培养自己的学习能力,思维能力。
2.1 系统目标设计
系统的设计目标在于以高安全性的AES算法为核心,解决加密的自动化问题以及加密的安全性问题,使得用户可以用简单的操作对关键文档实现高强度保护。
2.2 开发设计思想
用户在设置自己的密码之后,可以将需要加密的文档复制到自己指定的目录,在这一过程中,软件就会对该文件以高强度算法自动加密。并可根据用户需求,在需要时对文档进行单一或批量解密操作。对软件设置及用户信息采用Access数据库进行保存,以达到便于部署与使用的目的,软件使用高效率的C++语言进行编程。
2.3 软件面向的用户群
软件面向对于文档有较高保密需求的商户与企业,可在所有有需要的计算机进行部署,供给对应用户使用。
2.4 软件的功能性需求
1.用户登录
用户在输入账号与密码之后,系统对信息合法性进行判断,如通过验证则为用户分配一个用于加密的密钥字串。
2.单一文件加密
系统能够根据用户要求,对用户指定的文件进行加密保护。
3.批量文件加密
用户可以指定一个目录,软件会对目录下所有文件进行保护处理。
4.文件自动加密
软件可以监控用户指定的目录,对所有添加到该目录的文件进行自动保护。
5.单一文件解密
用户可以指定一个被保护的文件,输入密码后对文件进行解密。
6.批量文件解密
用户可以指定一个目录,软件会对目录下所有文件进行解密处理。
7.用户管理
目 录
1 背景与意义 1
1.1 开发背景 1
1.2 课题意义 1
1.3 加密技术的发展与现状 2
1.4 研究内容 3
1.5 软件开发工具与开发语言介绍 3
1.5.1 开发工具的选择 3
1.5.2 开发语言(C++) 3
2 需求分析 4
2.1 系统目标设计 4
2.2 开发设计思想 4
2.3 软件面向的用户群 4
2.4 软件的功能性需求 4
2.5 系统的非功能性需求 5
2.5.1 用户界面需求 5
2.5.2 软硬件环境需求 5
2.5.3 软件质量需求 5
3 系统设计 5
3.1 总体功能模块图 5
3.2 模块功能描述 5
3.2.1 自动加密 5
3.2.2 手动加密 6
3.2.3 文件解密 6
3.2.4 用户管理 6
3.3 数据库连接与保护 6
3.3.1 数据库连接 6
3.3.2 数据安全保护 6
3.4 功能模块设计 6
3.4.1 用户管理模块设计 6
3.4.2 自动加密模块设计 6
3.4.3 手动加密模块设计 7
3.4.4 文件解密模块设计 8
4 编码与实现 9
4.1 加密系统的UI设计 9
4.1.1 动态背景的实现 9
4.1.2 控件类的实现 10
4.1.3 主界面按钮拖拽的实现 11
4.1.4 界面的双缓冲与统一绘制 12
4.2 加密算法的实现 14
4.2.1 AES概览 14
4.2.2 AES算法概述 14
4.2.3 AES的具体实现 15
4.3 自动化加密的实现 18
4.3.1 自动化加密的方法选择 18
4.3.2 APIHOOK初窥 18
4.3.3 APIHOOK的兼容性分析 19
4.3.4 APIHOOK之XP系统实现 19
4.3.5 APIHOOK之Win7系统实现 21
4.3.6 系统的自动判断与兼容处理 22
5 系统测试与运行 23
5.1 测试目标 23
5.2 测试项目说明 23
5.2.1 步骤及操作 23
5.2.2 测试进度 23
5.3 测试评价 23
6 总结与展望 23
结束语 24
参考文献 25
致谢 26