SpringMVC框架、Spring框架、MyBatis框架、PKCS等,还可以用其他的实用技术。
数据库:MySQL(在数据存储之前需要加密,在读取时进行解密)
具体要求:实现 相关模块:客户端模块(用户和系统管理员的登录,用户对于数据密钥和数据进行管理,管理员对于用户及用户密钥管理)、密钥管理模块(密钥生成、密钥查询、密钥更新、密钥注销)、加密存储模块(数据的加密存储和解密读取等),重点在于密钥生成和数据存储加密。
- 系统UML用例分析
混沌加密的密钥管理系统主要设置了管理员跟用户模块,能够对系统进行密钥信息、文件信息、加密情况进行很好的记录和管理等。管理员用例是用于展示管理员的系统功能操作介绍,相当于操作演示,让更直观的对系统进行的管理操作,对于系统的了解有很大的帮助。
(1)管理员用例是用于展示管理员的系统功能操作介绍,相当于操作演示,更直观的查看管理员所能进行的操作,对于系统的了解有很大的帮助,具体的管理员用例图如下:
(2)用户用例是用于展示用户的系统功能操作介绍,相当于操作演示,更直观的查看用户所能进行的操作,对于系统的了解有很大的帮助,具体的用户用例图如下:
系统结构的整体结构是一个将大型任务划分为多个小模块的过程,在完成这些小模块之后,这些小模块可以组合成一个完整的系统。它的具体工作步骤是:
1.系统划分子模块
2.根据需求选用最佳的设计方案设计每个子模块的功能。
3.根据每个子模块的功能,进行确认逻辑关系。
4.根据它们的关系设计每个子模块之间的信息交流方式。[11]
混沌加密的密钥管理系统主要是为加密的密钥进行井然有序的管理而设计的,为此专门设计了一个可以进行对密钥信息、文件信息进行管理,对管理情况能够能够以报表形式展现的混沌加密的密钥管理系统。系统的整体结构设计如图4.1所示。
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。本密钥管理系统采用了MYSQL数据库管理系统,各个表的设计结果如下:
表4.1files表
字段 | 数据类型 | 长度 | 是否主键 | 是否可空 | 字段名称 |
id | int | 11 | 是 | 否 | 编号 |
userid | int | 11 | 否 | 否 | 用户编号 |
keyid | int | 11 | 否 | 否 | 密钥编号 |
filename | varchar | 255 | 否 | 否 | 文件名称 |
path | varchar | 255 | 否 | 否 | 路径 |
des | varchar | 255 | 否 | 否 | 算法 |
表4.2logs表
字段 | 数据类型 | 长度 | 是否主键 | 是否可空 | 字段名称 |
id | int | 11 | 是 | 否 | 编号 |
userid | int | 11 | 否 | 否 | 用户编号 |
time | varchar | 255 | 否 | 否 | 时间 |
action | varchar | 255 | 否 | 否 | 行为 |
operate | varchar | 255 | 否 | 否 | 工作 |
表4.3 secretkeyt表
字段 | 数据类型 | 长度 | 是否主键 | 是否可空 | 字段名称 |
id | int | 11 | 是 | 否 | 编号 |
userid | int | 11 | 否 | 否 | 用户编号 |
secretkey | varchar | 255 | 否 | 否 | 密钥 |
des | varchar | 255 | 否 | 否 | 算法 |
type | varchar | 255 | 否 | 否 | 类型 |
updatetime | varchar | 255 | 否 | 否 | 更新时间 |
表4.4 user表
字段 | 数据类型 | 长度 | 是否主键 | 是否可空 | 字段名称 |
id | int | 11 | 是 | 否 | 编号 |
no | varchar | 255 | 否 | 否 | 账号 |
username | varchar | 255 | 否 | 否 | 用户名 |
password | varchar | 255 | 否 | 否 | 密码 |
name | varchar | 255 | 否 | 否 | 名称 |
birthday | varchar | 255 | 否 | 否 | 生日 |
tel | varchar | 255 | 否 | 否 | 电话 |
sex | varchar | 255 | 否 | 否 | 性别 |
post | varchar | 255 | 否 | 否 | 邮件 |
| varchar | 255 | 否 | 否 | 邮箱 |
isadmin | varchar | 255 | 否 | 否 | 是否为管理员 |
status | varchar | 255 | 否 | 否 | 角色 |