Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package md5;
- /**
- *
- * @author thieumao
- */
- import java.awt.Button;
- import java.awt.Component;
- import java.awt.Desktop;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Label;
- import java.awt.TextField;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import java.math.BigInteger;
- import java.net.URI;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import javax.swing.JFrame;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JOptionPane;
- public class MD5GUI extends JFrame implements ActionListener {
- private GridBagLayout gb;
- private GridBagConstraints gbc;
- private Label lbForm, lbUser, lbPass;
- private TextField tfUser, tfPass;
- private Button btRegister, btCancel;
- JMenuBar mymbar;
- JMenu jmFile, jmHelp;
- public static String encryptMD5(String input) {
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- byte[] messageDigest = md.digest(input.getBytes());
- BigInteger number = new BigInteger(1, messageDigest);
- String hashtext = number.toString(16);
- while (hashtext.length() < 32) {
- hashtext = "0" + hashtext;
- }
- return hashtext;
- } catch (NoSuchAlgorithmException e) {
- throw new RuntimeException(e);
- }
- }
- public void Them(Component comp, int x, int y, int rong, int cao) {
- gbc = new GridBagConstraints();
- gbc.gridx = x;
- gbc.gridy = y;
- gbc.gridwidth = rong;
- gbc.gridheight = cao;
- gb.setConstraints(comp, gbc);
- this.add(comp);
- }
- public MD5GUI(String title) {
- super(title);
- this.addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent we) {
- System.exit(0);
- }
- });
- mymbar = new JMenuBar();
- jmFile = new JMenu("File");
- JMenuItem exit = new JMenuItem("Exit");
- exit.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- });
- jmFile.add(exit);
- mymbar.add(jmFile);
- jmHelp = new JMenu("Help");
- JMenuItem creator = new JMenuItem("Author");
- creator.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- JOptionPane.showMessageDialog(null, "Author: Thieu Mao - KSEC");
- }
- });
- JMenuItem instruction = new JMenuItem("Website");
- instruction.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- Desktop desktop = Desktop.getDesktop();
- try {
- desktop.browse(new URI("http://thieumao.blogspot.com/"));
- } catch (Exception ex) {
- System.out.println("Error!");
- }
- }
- });
- jmHelp.add(creator);
- jmHelp.addSeparator();
- jmHelp.add(instruction);
- mymbar.add(jmHelp);
- setJMenuBar(mymbar);
- lbForm = new Label("MD5 Encrypter");
- lbUser = new Label("Text:");
- lbPass = new Label("MD5:");
- tfUser = new TextField(35);
- tfPass = new TextField(35);
- tfPass.disable();
- btRegister = new Button("Calculate");
- btCancel = new Button("Clear");
- gb = new GridBagLayout();
- this.setLayout(gb);
- Them(lbForm, 1, 0, 2, 1);
- Them(lbUser, 0, 1, 1, 1);
- Them(tfUser, 1, 1, 2, 1);
- Them(lbPass, 0, 2, 1, 1);
- Them(tfPass, 1, 2, 2, 1);
- Them(btRegister, 1, 3, 1, 1);
- Them(btCancel, 2, 3, 1, 1);
- btRegister.addActionListener(this);
- btCancel.addActionListener(this);
- }
- public static void main(String[] args) throws Exception {
- MD5GUI fr = new MD5GUI("MD5 Encrypter - Thieu Mao");
- fr.setSize(440, 200);
- fr.setVisible(true);
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- if (ae.getSource() == btRegister) {
- tfPass.setText(encryptMD5(tfUser.getText()));
- }
- if (ae.getSource() == btCancel) {
- tfUser.setText("");
- tfPass.setText("");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement