⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbzh.java.bak

📁 常用加密解密算法
💻 BAK
字号:
import GDFrame;
import javax.swing.*;
import java.awt.event.*;
public class DBZH
{ JButton a,b;
	public JTextField t1,t2,t3,t4;
	GDFrame ks;
	char kk[]=new char[26],c[]=new char[50],s1[]=new char[26];/*s1中存放26个字母原序,c数组存放密文,kk存放加入密钥的26个字母*/
	String k,cc;                                        /*k是得到的密码串,cc用于存放最终写向文本框中的密文字符串*/
	public DBZH()
	{
	 ks=new GDFrame("单表置换");
	 
	 ks.show();
   a=ks.getB1();
   b=ks.getB2();
   a.addActionListener(new La());	
   b.addActionListener(new Lb());		
	
	 t1=ks.getT1();
	 t2=ks.getT2();
	 t3=ks.getT3();
	 t4=ks.getT4();
		}
class La implements ActionListener{                      //加密算法
	public void actionPerformed(ActionEvent e)
	{
	 String m,n,cc,mm;
	 char t;
	 int lenm,lenk,l=0,i,flag;                 //lenm是明文字符串长度,lenk为密码字符串长度,l为临时变量
	 for(i=0;i<=25;i++)
	    {s1[i]=(char)(97+i);
	    }
	 m=t1.getText();                  //文本1里面的字符串,明文
	 k=t2.getText();                  //密钥输入的字符串
	 lenm=m.length(); 
   lenk=k.length(); 
   for(i=0;i<lenk;i++)
      {flag=0;
       t=k.charAt(i);
       if((t>='a')&&(t<='z'))
       {
         for(int j=0;j<l;j++)
           if(kk[j]==t)
          	 flag=1;
       if(flag==0)
          { kk[l]=t; 	l++;
           }
         }  
        }
   for(i=0;i<26;i++)
      {t=s1[i];
       flag=0;
       for(int j=0;j<l;j++)
           if(kk[j]==t)
              flag=1;
       if(flag==0)
         {kk[l]=t; 	l++;
           }
       }    
   for(i=0;i<lenm;i++)
   {
   	t=m.charAt(i);
   	for(int j=0;j<26;j++)
   	   if(s1[j]==t)
   	     c[i]=kk[j];
   	}
   for(i=0;i<lenm;i++)
      System.out.print(c[i]);
   System.out.println();   	
   cc=new String(c,0,lenm);
   t3.setText(cc);
  }      
 }   
 
class Lb implements ActionListener{
	public void actionPerformed(ActionEvent e)
	{
	 char mm2[]=new char[50],t;           //sm2用于存放解密后的明文,密文在c变量中存放
   String mm;      
   int lencc;                   //mm存放解密后的明文的字符串,;lencc存放密文字符串长度
   k=t2.getText();
   cc=t3.getText();
   lencc=cc.length();
   for(int i=0;i<lencc;i++)
       { t=cc.charAt(i);
        for(int j=0;j<26;j++)
           if(t==kk[j])
              mm2[i]=s1[j];
         }
    mm=new String(mm2,0,lencc);
    t4.setText(mm);           
       }
  } 	

}	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -