一个加密解密的小工具

时间:2023-01-09 05:39:06

公司某总要求做一个可逆的加密解密的小工具

对界面要求不高,能用就行。所以用java swing 做了一个简陋的~

现在估计用java做c/s模式的不多了。我也只是上学时在课堂上听老师那么一提。除了腾讯还是才有c/s模式,发个版本要求你更新。那是你用了几十年了。离不开了啊。。。扯远了。


由于java swing是边学边做。所以成果很粗糙。

package com.ucs;

//这段代码主要是创建一个登录窗口界面,在这个界面中有文本组件、普通按钮组件、标签组件,它们是按照网格组布局管理方式布局,  
import javax.swing.*;  

import Constants.CryptConstants;

import java.awt.*;  
import java.awt.event.*;  
///这是一个登录类。设计成一个继承容器的类。  
///WIDTH是指整个顶层框架的宽度。  
///HEIGHT是指整个顶层框架的长度。  
public class codeUtil extends JPanel  
{  
  /** 
   *  
   */  
  private static final long serialVersionUID = 1L;  
  static final int WIDTH=300;  
  static final int HEIGHT=300;  
  private static String code="加密";
  JFrame loginframe;  
///按照网格组布局方式排列组件的方法  
///x指控件位于第几列。  
///y指控件位于第几行。  
///w指控件需要占几列。  
///h指控件需要占几行。  
  public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h)  
  {  
      constraints.gridx=x;  
      constraints.gridy=y;  
      constraints.gridwidth=w;  
      constraints.gridheight=h;  
      add(c,constraints);  
}                                         //此方法用来添加控件到容器中  
///这是一个构造器方法  
codeUtil()  
  {  
      loginframe=new JFrame("解密/加密工具");   
      loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
      GridBagLayout lay=new GridBagLayout();    
      setLayout(lay);                          
      loginframe.add(this, BorderLayout.WEST);  
      loginframe.setSize(WIDTH,HEIGHT);  
      Toolkit kit=Toolkit.getDefaultToolkit();  
      Dimension screenSize=kit.getScreenSize();  
      int width=screenSize.width;  
      int height=screenSize.height;  
      int x=(width-WIDTH)/2;  
      int y=(height-HEIGHT)/2;  
      loginframe.setLocation(x,y);  
      JButton ok=new JButton("开始");  
      
     // JButton cancel=new JButton("放弃");  
      JLabel title=new JLabel("解密/加密工具");  
      JLabel name=new JLabel("密文/明文");  
      JLabel result=new JLabel("结果");  
      JLabel label=new JLabel("您所要做的操作:");
    //  contentPane.add(label);
      JComboBox comboBox=new JComboBox();
      comboBox.addItem("加密");
      comboBox.addItem("解密");
      comboBox.addItemListener(new ItemListener() {
    	  
          @Override
          public void itemStateChanged(ItemEvent ie) {
              if(ie.getStateChange() == 1) {
                  //label.setText(ie.getItem().toString());
                  code=ie.getItem().toString();
              }
          }
       
      });
      
     // contentPane.add(comboBox);
      final JTextField nameinput=new JTextField(30);  
      final JTextField resultinput=new JTextField(30);  
      GridBagConstraints constraints=new GridBagConstraints();  
      constraints.fill=GridBagConstraints.NONE;  
      constraints.anchor=GridBagConstraints.EAST;  
      constraints.weightx=3;  
      constraints.weighty=4;  
      ok.addActionListener(new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
             String result= methodOK(nameinput.getText());
             resultinput.setText(result);
          }
      });
      add(label,constraints,0,0,2,1); 
      add(comboBox,constraints,2,0,2,1); 
      add(name,constraints,0,1,1,1);  
      add(result,constraints,0,2,2,1);  
      add(nameinput,constraints,2,1,1,1);  
      add(resultinput,constraints,2,2,1,1);  
      add(ok,constraints,0,3,1,1);  
      //add(cancel,constraints,2,3,1,1);  
      loginframe.setResizable(false);  
      loginframe.setVisible(true);    
        
  }  
public static String methodOK(String re){
	if("加密".equals(code)){
		
		return Crypt.encoderByDES(re, CryptConstants.getCryptKey());
	}else{
		return Crypt.decoderByDES(re, CryptConstants.getCryptKey());
	}
}
  public static void main(String[] args){  

      try {  
          //windows  
          //String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";  

          //Mac  
          //String lookAndFeel = "com.sun.java.swing.plaf.mac.MacLookAndFeel";  

          //default cross platform  
          //String lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();  

          //current system  
          String lookAndFeel = UIManager.getSystemLookAndFeelClassName();  

          //motif  
          //String lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";  

          //String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel";  

          UIManager.setLookAndFeel(lookAndFeel);  

      } catch (Exception e) {  
          e.printStackTrace();  
      }  
      codeUtil util=new codeUtil();}  
}
效果图:  
一个加密解密的小工具
另外打包用的myEclipse自带的export