📄 dbzh.java.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 + -