C/C++加密文件存储系统[2023-04-19]

发布时间 2023-04-19 16:53:50作者: programwriter

C/C++加密文件存储系统[2023-04-19]

题目2: 加密文件存储系统

程序设计题目:文件存储系统

1 问题描述
建立一个文件存储系统,该系统具有对文件的排序、查找、显示信息等功能。文件信息应包括文件名、文件类型、文件大小等。文件存储时,为了安全,需要对文件执行加解密操作。加密解密是对本地文件和网络传输数据的一种重要保护措施。文件加密技术通过相应的加密方法对文件进行加密保护。要求,可以对文档进行不同种类不同程度的加密,对源文件不造成破坏,同时可以将加密后的文件保存起来用于传输,并可以对文件进行解密,恢复源文件。对于不同的加密方法,加密速度和保密程度是不一样的。
本课题要求对于用户提供原始数据,用尽可能多的古典加解密方法实现对明文的加密,密文的解密并分析各方法的加密强度以及加解密时间。

2 功能要求
该程序需要具有以下功能:
(1)提供原始的待加密文件,用户提前在文件中输入的待加密的原始数据
(2)用不同的方法进行原明文的加密和解密功能,并比较加密复杂度和强度等。要求:读取待加密文件,根据不同的加密方法产生不同的密文文件并显示,对密文进行解密并显示。(可供选择的加解密方法: 维吉尼亚加解密方法、Hill 密码、置换密码;加密模式:CBC加密模式。可以百度相关算法的执行方法。)
(3)对存储文件可以执行排序、查找、显示信息等功能。
(4)提供菜单或图形界面完成明文,密文的显示以及不同的加解密方法的选择等功能
(5)程序具有容错功能,对错误的密钥能够报错,如 Hill 密码要求输入的密钥矩阵需是合法矩阵,并计算其解密矩阵。

选做要求:
(1)掌握不同加解密方法的原理并分析它们的异同点。
(2)同学可以自拟扩展功能并实现。

3 其他要求
(1)界面美观,交互方便,提供菜单选择。
(2)注释详细:每个变量都要求有注释说明用途:函数有注释说明功能,对参数返回值也要以注释的形式说明用途:关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4) 变量、函数命名符合规范。

4 开发环境
可以选择 TC2.0、TC3.0、VC++6.0,DEV C++等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111