MD5加密小程序
来源:互联网 发布:java mybatis 悲观锁 编辑:程序博客网 时间:2024/05/10 20:12
【介绍】
调用了百度的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
- */
- public class TestMD5 extends JFrame {
-
- /**
- * 明文输入框
- */
- private JTextField encodeText = new JTextField(20);
- /**
- * 密文显示框
- */
- private JTextField decodeText = new JTextField(20);
-
- /**
- * 16位加密按钮
- */
- private JButton btn16md5 = new JButton("16位MD5加密");
- /**
- * 32位加密按钮
- */
- private JButton btn32md5 = new JButton("32位MD5加密");
-
- /**
- * 入口方法
- * @param args
- */
- public static void main(String[] args) {
- new TestMD5();
- }
-
- /**
- * 构造方法:创建默认程式窗体
- */
- public TestMD5(){
- this.setSize(320,150);
- this.setTitle("MD5加密小程序");
- this.setLayout(new FlowLayout(FlowLayout.CENTER,20,10));
-
- this.add(new JLabel("明文:"));
- this.add(encodeText);
-
- btn16md5.addActionListener(new EncodeBtn());
- btn32md5.addActionListener(new EncodeBtn());
-
- this.add(btn16md5);
- this.add(btn32md5);
-
- this.add(new JLabel("密文:"));
- decodeText.setEditable(false);
- this.add(decodeText);
-
- this.setVisible(true);
-
- }
-
- /**
- * 加密按钮触发事件
- * @author Linyq.
- * @author YOYO.1989x.net
- * @version 1.0
- */
- private class EncodeBtn implements ActionListener{
-
- /**
- * 重写事件
- */
- public void actionPerformed(ActionEvent e) {
- 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位加密的密文
- */
- public String encode16(String plainText){
- return encode(plainText).substring(8,24);
- }
-
- /**
- * 32位加密方法
- * @param plainText 明文
- * @return 32位加密的密文
- */
- public String encode32(String plainText){
- return encode(plainText);
- }
-
- /**
- * MD5加密方法(实际上就是32位加密 - - )
- * @param plainText 明文
- * @return 密文
- */
- public String encode(String plainText){
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- md.update(plainText.getBytes());
- byte b[] = md.digest();
-
- int i;
-
- StringBuffer buf = new StringBuffer("");
- for (int offset = 0; offset < b.length; offset++) {
- i = b[offset];
- if(i<0) i+= 256;
- if(i<16)
- buf.append("0");
- buf.append(Integer.toHexString(i));
- }
-
- return buf.toString();
-
- } catch (NoSuchAlgorithmException e) {
- return null;
- }
- }
-
- }
- MD5加密小程序
- MD5加密小程序
- 小程序密码使用md5加密
- md5加密小demo
- 【小程序】中文转码的MD5加密
- MD5加密javascript程序
- Md5加密程序!
- MD5加密程序
- Java-MD5加密程序
- MD5加密程序
- Java MD5加密程序
- MD5加密程序
- MD5加密一个小例子。。
- [小代码]md5加密字符串
- 各类程序MD5加密写法
- 各类程序MD5加密写法
- MD5加密的C#程序
- 微信小程序中的MD5加密
- C++的继承与多态demo
- C++中的this指针
- 多重继承的虚函数表与类型转换
- 通过虚函数表访问private成员
- 加密解密小程序
- MD5加密小程序
- 定时启动线程
- ThreadPoolExecutor的使用
- java.lang.String.split()中的|
- GSL - GNU Scientific Library
- 读写properties
- 终极图解内存(上篇)
- 买衣服计价问题——策略模式与OCP原则
- 存档读档的Memento——备忘录模式