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

📄 polybios.java

📁 这是关于polybios加密算法的源程序的代码
💻 JAVA
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class polybios extends JApplet implements ActionListener
{
   Container ctp=getContentPane();
   ImageIcon icon1=new ImageIcon("g1.gif"),
             icon2=new ImageIcon("g2.gif"),
             icon3=new ImageIcon("g3.gif"),
             icon4=new ImageIcon("g4.gif");
   JLabel lb1=new JLabel("输入文字后按回车加密:",icon1,JLabel.CENTER),
          lb2=new JLabel("输出结果:",icon2,JLabel.CENTER),
          lb3=new JLabel("输入文字后按回车解密:",icon3,JLabel.CENTER),
          lb4=new JLabel("输出结果:",icon4,JLabel.CENTER);
   JTextField tf1=new JTextField(10),          
              tf3=new JTextField(10);  //创建文本框对象
   JTextArea  tf2=new JTextArea(5,30),
              tf4=new JTextArea(5,30); //创建文本区域对象
   public void init()
   {
     ctp.setLayout(new FlowLayout());
     ctp.add(lb1);
     ctp.add(tf1);
     ctp.add(lb2);
     ctp.add(tf2);
     ctp.add(lb3);
     ctp.add(tf3);
     ctp.add(lb4);
     ctp.add(tf4);
     tf1.addActionListener(this);
     tf3.addActionListener(this);
   }
   public void actionPerformed(ActionEvent e)
   {
     String str1,str3;
     int i;
     str1=tf1.getText();    //获得文本框的文本给str1(此方法是JTextComponent类的方法)
     int len1=str1.length(); //获得字符串str1的长度
     char shuzu1[]=new char[len1];
     char shuzu2[]=new char[2*len1+1];
     for(i=0;i<len1;i++)     //将shuzu1转换成shuzu2,输出
      {shuzu1[i]=str1.charAt(i);   //将字符串转化成shuzu1
       switch(shuzu1[i]){
          case'A':  {shuzu2[2*i]='O';shuzu2[2*i+1]='L';}break;
          case'B':  {shuzu2[2*i]='V';shuzu2[2*i+1]='U';}break;
          case'C':  {shuzu2[2*i]='E';shuzu2[2*i+1]='O';}break;
          case'D':  {shuzu2[2*i]='U';shuzu2[2*i+1]='O';}break;
          case'E':  {shuzu2[2*i]='E';shuzu2[2*i+1]='E';}break;
          case'F':  {shuzu2[2*i]='V';shuzu2[2*i+1]='L';}break;
          case'G':  {shuzu2[2*i]='E';shuzu2[2*i+1]='L';}break;
          case'H':  {shuzu2[2*i]='L';shuzu2[2*i+1]='E';}break;
          case'I':  {shuzu2[2*i]='I';shuzu2[2*i+1]='I';}break;
          case'J':  {shuzu2[2*i]='L';shuzu2[2*i+1]='O';}break;
          case'K':  {shuzu2[2*i]='O';shuzu2[2*i+1]='U';}break;
          case'L':  {shuzu2[2*i]='L';shuzu2[2*i+1]='L';}break;
          case'M':  {shuzu2[2*i]='E';shuzu2[2*i+1]='V';}break;
          case'N':  {shuzu2[2*i]='L';shuzu2[2*i+1]='U';}break;
          case'O':  {shuzu2[2*i]='O';shuzu2[2*i+1]='O';}break;
          case'P':  {shuzu2[2*i]='L';shuzu2[2*i+1]='V';}break;
          case'Q':  {shuzu2[2*i]='U';shuzu2[2*i+1]='V';}break;
          case'R':  {shuzu2[2*i]='V';shuzu2[2*i+1]='E';}break;
          case'S':  {shuzu2[2*i]='V';shuzu2[2*i+1]='O';}break;
          case'T':  {shuzu2[2*i]='O';shuzu2[2*i+1]='E';}break;
          case'U':  {shuzu2[2*i]='U';shuzu2[2*i+1]='U';}break;
          case'V':  {shuzu2[2*i]='V';shuzu2[2*i+1]='V';}break;
          case'W':  {shuzu2[2*i]='U';shuzu2[2*i+1]='E';}break;
          case'X':  {shuzu2[2*i]='U';shuzu2[2*i+1]='L';}break;
          case'Y':  {shuzu2[2*i]='E';shuzu2[2*i+1]='U';}break;
          case'Z':  {shuzu2[2*i]='O';shuzu2[2*i+1]='V';}break;
          default:  shuzu2[2*i]='_';break;
                  }  
       }
     String str2=String.valueOf(shuzu2);
     tf2.append(str2+"\n");  //将str2添加到文本区域中(append方法是JTextArea类的方法)
     //加密完成     

     str3=tf3.getText();
     int j,len3;
     len3=str3.length();
     char shuzu3[]=new char[len3];
     char shuzu4[]=new char[len3/2+1];
     if(len3%2==0)
     { for(j=0;j<len3;j++)
        {shuzu3[j]=str3.charAt(j);}
       for(j=0;j<len3;j=j+2)
        {      if(shuzu3[j]=='O'&&shuzu3[j+1]=='L') shuzu4[j/2]='A';
         else  if(shuzu3[j]=='V'&&shuzu3[j+1]=='U') shuzu4[j/2]='B';
         else  if(shuzu3[j]=='E'&&shuzu3[j+1]=='O') shuzu4[j/2]='C';
         else  if(shuzu3[j]=='U'&&shuzu3[j+1]=='O') shuzu4[j/2]='D';
         else  if(shuzu3[j]=='E'&&shuzu3[j+1]=='E') shuzu4[j/2]='E';
         else  if(shuzu3[j]=='V'&&shuzu3[j+1]=='L') shuzu4[j/2]='F';
         else  if(shuzu3[j]=='E'&&shuzu3[j+1]=='L') shuzu4[j/2]='G';
         else  if(shuzu3[j]=='L'&&shuzu3[j+1]=='E') shuzu4[j/2]='H';
         else  if(shuzu3[j]=='I'&&shuzu3[j+1]=='I') shuzu4[j/2]='I';
         else  if(shuzu3[j]=='L'&&shuzu3[j+1]=='O') shuzu4[j/2]='J';
         else  if(shuzu3[j]=='O'&&shuzu3[j+1]=='U') shuzu4[j/2]='K';
         else  if(shuzu3[j]=='L'&&shuzu3[j+1]=='L') shuzu4[j/2]='L';
         else  if(shuzu3[j]=='E'&&shuzu3[j+1]=='V') shuzu4[j/2]='M';
         else  if(shuzu3[j]=='L'&&shuzu3[j+1]=='U') shuzu4[j/2]='N';
         else  if(shuzu3[j]=='O'&&shuzu3[j+1]=='O') shuzu4[j/2]='O';
         else  if(shuzu3[j]=='L'&&shuzu3[j+1]=='V') shuzu4[j/2]='P';
         else  if(shuzu3[j]=='U'&&shuzu3[j+1]=='V') shuzu4[j/2]='Q';
         else  if(shuzu3[j]=='V'&&shuzu3[j+1]=='E') shuzu4[j/2]='R';
         else  if(shuzu3[j]=='V'&&shuzu3[j+1]=='O') shuzu4[j/2]='S';
         else  if(shuzu3[j]=='O'&&shuzu3[j+1]=='E') shuzu4[j/2]='T';
         else  if(shuzu3[j]=='U'&&shuzu3[j+1]=='U') shuzu4[j/2]='U';
         else  if(shuzu3[j]=='V'&&shuzu3[j+1]=='V') shuzu4[j/2]='V';
         else  if(shuzu3[j]=='U'&&shuzu3[j+1]=='E') shuzu4[j/2]='W';
         else  if(shuzu3[j]=='U'&&shuzu3[j+1]=='L') shuzu4[j/2]='X';
         else  if(shuzu3[j]=='E'&&shuzu3[j+1]=='U') shuzu4[j/2]='Y';
         else  if(shuzu3[j]=='O'&&shuzu3[j+1]=='V') shuzu4[j/2]='Z';
           }
      String str4=String.valueOf(shuzu4);
      tf4.append(str4+"\n");
    }
     else tf4.append("输入错误,请重新检查你输入的文本"+"\n");
   }
}

⌨️ 快捷键说明

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