信息安全实习一--古典加密算法(3)

2018-12-29 22:19

InputStreamReader in1= null,in2 = null; OutputStreamWriter out1= null;

String temp=null,temp0 = null,temp1 = null,temp2 = null; try{ }

catch(IOException e){ } try{

System.out.println(\服务器已经启动!\); you1 = server1.accept(); you2 = server2.accept();

in1 = new InputStreamReader(you1.getInputStream()); out1 =new OutputStreamWriter(you1.getOutputStream()); BufferedWriter bout1 = new BufferedWriter(out1); BufferedReader bin1 = new BufferedReader(in1); in2 = new InputStreamReader(you2.getInputStream()); BufferedReader bin2 = new BufferedReader(in2);

while(true){ }

server1.close(); you1.close(); server2.close(); you2.close();

temp0=bin1.readLine(); if(!temp0.equals(\)){ }

if(temp0.equals(\)){ }

temp1=bin2.readLine(); temp2=bin2.readLine(); bout1.write(\收到\); bout1.newLine(); bout1.flush();

bout1.write(\!\); bout1.newLine(); bout1.flush();

System.out.println(\连接已经断开!\); break; temp=temp0;

System.out.println(e);

server1 = new ServerSocket(1895); server2 = new ServerSocket(1896);

}

}

}

catch(IOException e1){

System.out.println(\连接已经断开!\); }

Server s=new Server(); s.decode(temp,temp1,temp2);

六、运行结果

(1)启动服务器

(2)界面打开图

(3)输入要加密的字符串,密钥,及起始位

(4)点击加密出现消息框

(5)点击确定后客户端将信息发送给服务器,控制台显示交流信息,并断开连接。 客户端控制台

服务器控制台

(6)服务器端弹出解密界面,密文,密钥,起始位已填好

(7)点击解密,查看原文

(8)点击确定关闭程序

七、问题及解决方法

(1)问题一:本想在客户类中声明界面类对象,在界面关闭后,获取密文,密钥,起始位的返回值,再将该信息发给服务器,但是一直没有找到界面关闭后的返回对象,因而无法控制在界面关闭后再将信息发送。

解决办法:换做在界面类中声明客户类对象,在界面加密操作弹出密文对话框并点击确定后,再将密文,密钥,起始位的传值给客户类run()方法,从而给服务器发送消息。

(2)问题二:在服务器接受消息的语句先后顺序上出了问题,本来是在三个readline()方法的语句后再进行连接断开判断,但是发现,客户端是通过通道一发送断开连接的信息,通道二并没有再发送信息,但是服务器在收到通道一的消息后,一直等待通道二发送消息,导致程序等待。

解决办法:将连接断开判断的语句放在通道一的readline()方法语句后,这样,在通道一收到断开的信息后,就可终端连接。


信息安全实习一--古典加密算法(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高考数学常用公式及结论200条(1)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: