加密解密的桌面小工具

加密解密的桌面小工具

  • 前言
    • 直接上代码
    • 效果图
    • 问题来了

前言

因为公司的数据库之前没有加上密,后来经理要求将所有系统的数据库都加上密,MD5闲解密费劲,故而使用Base64加密,但是又考虑到后期产品、运维、驻场(我的天,别问我数据库都可以谁访问)使用方便,所以想到java swing, 对其不懂的同学们可以参考这两篇博客https://blog.csdn.net/yuehailin/article/details/62891786 和https://www.cnblogs.com/biehongli/p/5746507.html

直接上代码

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();
    }  
}

效果图

加密解密的桌面小工具_第1张图片

问题来了

这样的工具怎么才能双击就行使用呢,不用配置什么环境,别着急,大家请看我的下一篇文章,先透剧一下(打成jar包,并转成exe双击启动文件,并携带jre环境即可所处使用)

代码参考:https://blog.csdn.net/xyuan_07/article/details/50402631?utm_source=blogxgwz

以上操作博主亲自操刀过,无出任何问题,有异常的小伙伴可以留言给我,我会回复你的哦 σ`∀´)σ

你可能感兴趣的:(▶,AES/Base64/Md5)