Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package demo;
- import java.awt.Component;
- import java.awt.Desktop;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- 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.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JOptionPane;
- import javax.swing.JTextField;
- public class GiaiChu extends JFrame implements ActionListener {
- private GridBagLayout gb;
- private GridBagConstraints gbc;
- private JLabel lbForm, lbUser, lbPass, lbView;
- private JTextField tfUser, tfPass;
- private JButton btRegister, btCancel;
- JMenuBar mymbar;
- JMenu jmFile, jmHelp;
- private 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);
- }
- private void setMenu() {
- 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);
- }
- public GiaiChu(String title) {
- super(title);
- this.addWindowListener(new WindowAdapter() {
- @Override
- public void windowClosing(WindowEvent we) {
- if (JOptionPane.showConfirmDialog(null, "Are you sure ?") == JOptionPane.OK_OPTION) {
- System.exit(0);
- }
- setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
- }
- });
- setMenu();
- lbForm = new JLabel("MD5 Decrypter");
- lbUser = new JLabel("MD5:");
- lbPass = new JLabel("Text:");
- tfUser = new JTextField(35);
- tfPass = new JTextField(35);
- tfPass.disable();
- btRegister = new JButton("Calculate");
- btCancel = new JButton("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 {
- GiaiChu fr = new GiaiChu("MD5 Decrypter - Thieu Mao");
- fr.setSize(500, 200);
- fr.setVisible(true);
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- if (ae.getSource() == btRegister) {
- char chStart = 'a';
- char chEnd = 'z';
- String str;
- boolean check = true;
- // 1 ki tu
- char i0 = chStart;
- while (check && i0 <= chEnd) {
- str = String.valueOf(i0);
- System.out.println(str);
- if (encryptMD5(str).equals(tfUser.getText())) {
- tfPass.setText(str);
- check = false;
- }
- i0++;
- }
- // 2 ki tu
- i0 = chStart;
- while (check && i0 <= chEnd) {
- char i1 = chStart;
- while (check && i1 <= chEnd) {
- str = String.valueOf(i0) + String.valueOf(i1);
- System.out.println(str);
- if (encryptMD5(str).equals(tfUser.getText())) {
- tfPass.setText(str);
- check = false;
- }
- i1++;
- }
- i0++;
- }
- // 3 ki tu
- i0 = chStart;
- while (check && i0 <= chEnd) {
- char i1 = chStart;
- while (check && i1 <= chEnd) {
- char i2 = chStart;
- while (check && i2 <= chEnd) {
- str = String.valueOf(i0) + String.valueOf(i1) + String.valueOf(i2);
- System.out.println(str);
- if (encryptMD5(str).equals(tfUser.getText())) {
- tfPass.setText(str);
- check = false;
- }
- i2++;
- }
- i1++;
- }
- i0++;
- }
- // 4 ki tu
- i0 = chStart;
- while (check && i0 <= chEnd) {
- char i1 = chStart;
- while (check && i1 <= chEnd) {
- char i2 = chStart;
- while (check && i2 <= chEnd) {
- char i3 = chStart;
- while (check && i3 <= chEnd) {
- str = String.valueOf(i0) + String.valueOf(i1) + String.valueOf(i2) + String.valueOf(i3);
- System.out.println(str);
- if (encryptMD5(str).equals(tfUser.getText())) {
- tfPass.setText(str);
- check = false;
- }
- i3++;
- }
- i2++;
- }
- i1++;
- }
- i0++;
- }
- // 5 ki tu
- i0 = chStart;
- while (check && i0 <= chEnd) {
- char i1 = chStart;
- while (check && i1 <= chEnd) {
- char i2 = chStart;
- while (check && i2 <= chEnd) {
- char i3 = chStart;
- while (check && i3 <= chEnd) {
- char i4 = chStart;
- while (check && i4 <= chEnd) {
- str = String.valueOf(i0) + String.valueOf(i1) + String.valueOf(i2) + String.valueOf(i3) + String.valueOf(i4);
- System.out.println(str);
- if (encryptMD5(str).equals(tfUser.getText())) {
- tfPass.setText(str);
- check = false;
- }
- i4++;
- }
- i3++;
- }
- i2++;
- }
- i1++;
- }
- i0++;
- }
- // 6 ki tu
- i0 = chStart;
- while (check && i0 <= chEnd) {
- char i1 = chStart;
- while (check && i1 <= chEnd) {
- char i2 = chStart;
- while (check && i2 <= chEnd) {
- char i3 = chStart;
- while (check && i3 <= chEnd) {
- char i4 = chStart;
- while (check && i4 <= chEnd) {
- char i5 = chStart;
- while (check && i5 <= chEnd) {
- str = String.valueOf(i0) + String.valueOf(i1) + String.valueOf(i2) + String.valueOf(i3) + String.valueOf(i4) + String.valueOf(i5);
- System.out.println(str);
- if (encryptMD5(str).equals(tfUser.getText())) {
- tfPass.setText(str);
- check = false;
- }
- i5++;
- }
- i4++;
- }
- i3++;
- }
- i2++;
- }
- i1++;
- }
- i0++;
- }
- }
- if (ae.getSource() == btCancel) {
- tfUser.setText("");
- tfPass.setText("");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment