- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文本文档的加密与解密课程设计说明书
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2014年春季学期
工程开发综合训练 课程设计
题 目: 文本文档的加密与解密
专业班级: 计算机科学与技术11级4班
姓 名: 张有刚
学 号:
指导教师: 刘树群
成 绩:
目 录
摘 要 1
1. 问题描述 2
2. 系统设计 3
3. 系统实现 4
4. 系统测试 8
5. 总结 13
参考文献 14
摘 要
随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等。但是这些算法虽然原理简单,但具体实现起来却非常繁琐复杂,故而本程序设计对文件的加密使用的是最基础的异或加密算法。
Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。Java是一门很优秀的编程语言,是目前软件设计中极为健壮的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一次写成,处处运行”的特点,所以,Java已经成为网络时代最重要的编程语言之一。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。
使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,
满足了用户对文件安全性的需求。
关键词 : JAVA ,加密,解密
问题描述
本设计要求学生开发一个在Windows操作系统下,利用DES加密算法,开发出一款能够对文本信息进行加密与解密的软件。通过对文本信息特点的分析,设计出相应的DES加密算法,同时,根据DES加密过程设计出解密算法,画出相应的流程图,实现对文本文件的加密和解密,写出软件说明书,并提出日后的升级维护意见。
此外,学生通过该题目的设计过程,可以初步应用软件系统的开发原理和开发方法,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件工程的训练,提高解决实际问题的能力。
(1)用图形用户界面实现软件界面,整体布局合理,美观大方。?
(2)用56位秘钥对文本进行加解密。
(3)能够对一般的文本文件包括扩展名为doc和txt的文件进行直接加解密。
(4)能够实现对中英文文本的加解密。
(5)系统的开发可以采用Java或C++等编程语言来实现;
在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。
系统设计
2.1程序流程图
该程序的模块调用十分简单明了,所以主程序的运行也很清晰,以下就是主程序的详细流程图,如图4-1所示
图4-1流程图
2.2各程序模块层次关系用DES方法加密输入的字节用DES方法解密输入的字节输入密码的字符形式,返回字节数组形式。计算一个16进制字符的10进制值
在图形用户界面,设置两个面板,并分别设置显示其组件的布局。设置两个菜单项,分别为“打开”和“保存”;设置两个按钮,分别为“加密”和“解密”;创建一个文本区,用一个标签注明“文件浏览窗口”,这就是整个图形用户界面。
此外,还添加了一个窗口事件windowClosing,可以关闭运行的程序。
窗口事件的代码实现:
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
3.2加密操作模块
本程序采用简单的加密算法,即把从文本区获得的文本文件,初始化,存放到一个数组中,然后进行异或运算,把结果重新存放于该数组中,从而显现在“文件浏览窗口”中。
代码实现:
if(e.getSource()==button1)
{
char a[]=texta.getText().toCharArray();/*把texta中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全部字符复制到该数组a[]中*/
texta.setText(null);
int n;
char secret= ;
for(int i=0;ia.length;i++)
{
文档评论(0)