C/C++文本文件加密解密系统[2023-10-24]
程序设计题:文本文件加密解密系统
1 问题描述
程序的加密解密是现在对本地文件和网络传输数据的一种重要保护措施。文件加密技术通过相应的加密方法对文件进行加密保护,有很多优点。例如,可以对文档进行不同种类不同程度的加密,对源文件不造成破坏,同时可以将加密后的文件保存起来用于传输,并可以随时进行解密,恢复源文件。对于不同的加密方法,加密速度和保密程度是不一样的。
本课题要求对于用户提供原始数据,用尽可能多的方法实现对明文的加密,密文的解密并分析各方法的加密强度以及加解密时间。
2 功能要求
该程序需要具有以下功能:
(1)提供原始的待加密文件,用户提前在文件中输入的待加密的原始数据。
(2)用不同的方法进行原明文的加密和解密功能。
要求:读取待加密文件,根据不同的加密方法产生不同的密文文件并显示,对密文进行解密并显示。
(可选择的加解密方法:凯撒代换加解密方法、多代换字母表加解密方法、行置换加密法加解密方法、“异或”计算加解密方法、DES加解密方法,维吉尼亚加解密方法等,要求必须实践四种不同的方法,可以百度其他的加解密方法。)
(3)提供菜单或图形界面完成明文,密文的显示以及不同的加解密方法的选择等功能
(4)比较不同方法的加密复杂度和强度等。
选做要求:
(1)掌握不同加解密方法的原理并分析它们的异同点。
(2)同学可以自拟扩展功能并实现。
3 其他要求
(1)界面美观,交互方便,提供菜单选择。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
(4)变量、函数命名符合规范。
4 开发环境
可以选择TC2.0、TC3.0、VC++6.0,DEV_C++等开发环境,或者与老师讨论,选择自己熟悉的开发工具与平台。