MD5加密小程序
【介绍】
调用了百度的MD5加密算法,实现对指定明文进行简单MD5加密的小程序~
【运行截图】
【程式代码】
TestMD5.java
-
import javax.swing.*;
-
import java.awt.*;
-
import java.awt.event.ActionEvent;
-
import java.awt.event.ActionListener;
-
-
/**
-
* MD5加密小程序
-
* @author Linyq.
-
* @author YOYO.1989x.net
-
* @version 1.0
-
*/
-
-
/**
-
* 明文输入框
-
*/
-
/**
-
* 密文显示框
-
*/
-
-
/**
-
* 16位加密按钮
-
*/
-
/**
-
* 32位加密按钮
-
*/
-
-
/**
-
* 入口方法
-
* @param args
-
*/
-
new TestMD5();
-
}
-
-
/**
-
* 构造方法:创建默认程式窗体
-
*/
-
public TestMD5(){
-
this.setSize(320,150);
-
this.setTitle("MD5加密小程序");
-
-
this.add(encodeText);
-
-
btn16md5.addActionListener(new EncodeBtn());
-
btn32md5.addActionListener(new EncodeBtn());
-
-
this.add(btn16md5);
-
this.add(btn32md5);
-
-
decodeText.setEditable(false);
-
this.add(decodeText);
-
-
this.setVisible(true);
-
-
}
-
-
/**
-
* 加密按钮触发事件
-
* @author Linyq.
-
* @author YOYO.1989x.net
-
* @version 1.0
-
*/
-
-
/**
-
* 重写事件
-
*/
-
if(e.getSource() == btn16md5){
-
// 显示16位加密结果
-
decodeText.setText(new Md5().encode16(encodeText.getText()));
-
}
-
if(e.getSource() == btn32md5){
-
// 显示32位加密结果
-
decodeText.setText(new Md5().encode32(encodeText.getText()));
-
}
-
}
-
-
}
-
-
}
Md5.java
-
import java.security.MessageDigest;
-
import java.security.NoSuchAlgorithmException;
-
-
/**
-
* MD5加密类
-
* @author Linyq.
-
* @author YOYO.1989x.net
-
* @version 1.0
-
*/
-
public class Md5 {
-
-
/**
-
* 16位加密方法
-
* @param plainText 明文
-
* @return 16位加密的密文
-
*/
-
return encode(plainText).substring(8,24);
-
}
-
-
/**
-
* 32位加密方法
-
* @param plainText 明文
-
* @return 32位加密的密文
-
*/
-
return encode(plainText);
-
}
-
-
/**
-
* MD5加密方法(实际上就是32位加密 - - )
-
* @param plainText 明文
-
* @return 密文
-
*/
-
try {
-
md.update(plainText.getBytes());
-
byte b[] = md.digest();
-
-
int i;
-
-
for (int offset = 0; offset < b.length; offset++) {
-
i = b[offset];
-
if(i<0) i+= 256;
-
if(i<16)
-
buf.append("0");
-
}
-
-
return buf.toString();
-
-
return null;
-
}
-
}
-
-
}