搜档网
当前位置:搜档网 › 加密解密课程设计

加密解密课程设计

加密解密课程设计
加密解密课程设计

兰州商学院陇桥学院工学系课程设计报告

课程名称: Java 设计题目:加密与解密

系别:工学系

专业 (方向):信息管理与信息系统

年级、班:2012级(2)班

学生姓名:费亚芬

学生学号: 208

指导教师:张鑫

2014年7 月 1日

目录

一、系统开发的背景................................. 错误!未定义书签。

二、系统分析与设计................................. 错误!未定义书签。(一)............................................. 系统功能要求错误!未定义书签。(二)......................................... 系统模块结构设计错误!未定义书签。

三、系统的设计与实现............................... 错误!未定义书签。(一)图形用户界面模块 ........................... 错误!未定义书签。(二)加密操作模块 ............................... 错误!未定义书签。

(三)解密操作模块................................ 错误!未定义书签。(四)文件保存模块 ............................... 错误!未定义书签。

(五)文件选择模块 ............................... 错误!未定义书签。

四、系统测试....................................... 错误!未定义书签。(一)测试加密..................................... 错误!未定义书签。(二)测试选择加密文件............................. 错误!未定义书签。(三)测试生成加密文件............................. 错误!未定义书签。(四)测试浏览加密文件............................. 错误!未定义书签。(五)测试解密文件................................. 错误!未定义书签。

五、总结........................................... 错误!未定义书签。

六、附件(代码、部分图表) ......................... 错误!未定义书签。

加密与解密

一、系统开发的背景

随着网络技术的不断发展,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,本程序设计对文件的加密使用的是最基础的异或加密算法。

Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。本程序充分利用Java语言的特点,针对当下社会比较重视的文件加密,设计了本程序。使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。

二、系统分析与设计

(一)系统功能要求

可以采用图形用户界面,给定任意一个文本文件,进行加密,生成另一个文件,然后对加密后的文件还原。

1、向图形用户界面中添加组件;

2、设置各个组件的布局;

3、添加窗口事件;

4、查找读入及写入文件,并显示;

5、加密功能实现;

6、解密功能实现;

(二)系统模块结构设计

通过对系统功能的分析,加密与解密功能如图1所示。

图1 加密与解密功能图

三、系统的设计与实现

(一)图形用户界面模块

分析:在图形用户界面,设置两个面板,并分别设置显示其组件的布

局。设置两个菜单项,分别为“打开”和“保存”;设置两个按钮,分别为“加密”和“解密”;创建一个文本区,用一个标签注明“文件浏览窗口”,这就是整个图形用户界面。

此外,还添加了一个窗口事件windowClosing,可以关闭运行的程序。

窗口事件的代码如下所示:

addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

(0);

}

});

}

(二)加密操作模块

分析:本程序采用简单的加密算法,即把从文本区获得的文本文件,初始化,存放到一个数组中,然后进行异或运算,把结果重新存放于该数组中,从而显现在“文件浏览窗口”中。

代码如下:

if()==button1)

{

char a[]=().toCharArray();/*把texta中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全

部字符复制到该数组a[]中*/

(null);

int n;

char secret=' ';

for(int i=0;i<;i++)

{

char c=(char)(secret^a[i] ;oCharArray();

(null);

int n;

char secret=' ';

for(int i=0;i<;i++)

{

char c=(char)(secret^a[i]);ength());

();

();

}

catch (IOException e2)

{

}

}

}

(五)文件选择模块

分析:同上个文件保存模块类似,依旧在选择菜单项“打开”后,查找读入文件,读取字符流,弹出“打开对话框”,从而可实现获取文件。

出口值:被选文件的路径

代码如下:

public void actionPerformed(ActionEvent

e)

;

import .*;

import .*;

class Myframe extends Frame implements ActionListener {

FileDialog filedialog_save,filedialog_load;

Button button1,button2;

Label label;

MenuBar bar;

Menu menu;

MenuItem itemOpen,itemSave;

TextArea texta;

Myframe(String s) Box box3ength());

();

();

}

catch (IOException e2)

{

}

}

}

if()==button1)

{

char a[]=().toCharArray();/*把texta中获得的文本,进行初始化,与原字符串长度相等,并将该字符串对象的全部字符复制到该数组a[]中*/

(null);

int n;

char secret=' ';

for(int i=0;i<;i++)

{

char c=(char)(secret^a[i]);oCharArray();

(null);

int n;

char secret=' ';

for(int i=0;i<;i++)

{

char c=(char)(secret^a[i]);//再次异或运算,即还原

(""+c);

}

}

}

}

public class E1{

public static void main(String args[]){

Myframe frame = new Myframe("加密与解密"); }

}

相关主题