计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

免费DES算法的可视化程序的实现(一)毕业(7)

2013-06-28 01:04
导读:}//处理客户端发送消息 else if(e.getSource()==CNo) {CMessage.setText("");}//客户端取消消息 else if(e.getSource()==SNo) { SMessage.setText(""); }//服务器端取消发送消息 else if(

 }//处理客户端发送消息
 else if(e.getSource()==CNo)
 {CMessage.setText("");}//客户端取消消息
 else if(e.getSource()==SNo)
 {  SMessage.setText(""); }//服务器端取消发送消息
 else if(e.getSource()==SInit)
 {   try{server=new ServerSocket(2007); }
 catch(IOException e1)
 {JOptionPane.showMessageDialog(this,”出错了:"+e1,"Warning",JOptionPane.WARNING_MESSAGE);
 }SShow.appendText("服务器已经启动\n");
 }//启动服务器
 else if(e.getSource()==CInit)
 {   try { Cclient=new Socket("localhost",2007); }
 catch(IOException e1){
JOptionPane.showMessageDialog(this,"出错了:"+e1,"Warning",JOptionPane.WARNING_MESSAGE); }
 CShow.appendText("客户端已经启动\n");}//启动客户端}
 public void run()
 { while(true){if(Thread.currentThread()==ThreadServerSend){try{
 Sout=new DataOutputStream(Sclient.getOutputStream());
 Sout.writeUTF(des.Encrypt(SMessage.getText()));}
 catch(IOException e)
 {JOptionPane.showMessageDialog(this,"出错了:"+e,"Warning",JOptionPane.WARNING_MESSAGE);}return;}
 if(Thread.currentThread()==ThreadClientSend)
 {try{Cout=new DataOutputStream(Cclient.getOutputStream());
 Cout.writeUTF(des.Encrypt(CMessage.getText()));}
 catch(IOException e){JOptionPane.showMessageDialog(this,"出错了:"+e,"Warning",JOptionPane.WARNING_MESSAGE);}return;}
if(Thread.currentThread()==ThreadServerReceive)
{try{if(flag){Sclient=server.accept();flag=false;}
Sin=new DataInputStream(Sclient.getInputStream());}
catch(IOException e)
{JOptionPane.showMessageDialog(this,"发生错误:"+e,"Warning",JOptionPane.WARNING_MESSAGE);}
try{s=Sin.readUTF();}catch(IOException e){}
SShow.appendText("客户端消息:"+des.Dencrypt(s));

(科教范文网 lw.AsEac.com编辑整理)


SShow.appendText("\n");return;}
if (Thread.currentThread()==ThreadClientReceive){try{
Cin=new DataInputStream(Cclient.getInputStream());}catch(IOException e)
{JOptionPane.showMessageDialog(this,"发生错误:"+e,"Warning",JOptionPane.WARNING_MESSAGE);}
try{s=Cin.readUTF();}catch(IOException e){}
CShow.appendText("服务器消息:"+des.Dencrypt(s));
CShow.appendText("\n");return;}}}}
 3.3.2加密演显模块
  该模块的主要功能是提供一个加密演示的效果,在输入框中输入明文点确定按钮将显示密文,确定按钮中能智能的检测用户输入的消息是明文还是密文,如果是明文则加密,如果是密文则解谜,体现DES算法的可逆性.对于刚刚生成的密文,我们把它复制下来粘贴到输入框点解密可恢复出明文.其效果图如图3-2所示:

                                  

 该功能模块实现的代码如下:
public class DemoFacade extends Panel implements ActionListener{
String Bufferen="",Bufferde="",Bufferswap="";
int FORMAT=68;int EN_FLAG=0,DE_FLAG=0;
int EN_FLAG_FILE=0,DE_FLAG_FILE=0;
String BEFOR_FILEBUFFER,AFTER_FILEBUFFER;
TextField input;Button buttonen;Button buttonde;Button buttoncon;Button buttond;
Button Cancel; Button clear;Label labelin; public static TextArea textarea;
Panel panel;Des des=new Des();
public DemoFacade() {
panel=new Panel(); Panel p1=new Panel();Panel p2=new Panel();Panel p3=new Panel();
panel.setLayout(new BorderLayout());labelin=new Label

上一篇:免费基于IPv6的下一代校园网设计(一)毕业 下一篇:没有了