import javax.swing.*;
import java.awt.*;
/**
* @author love-bella
*/
public class Main extends JFrame {
private JLabel label1,label2;
private JTextArea area;
private JTextField field;
private JButton md5,sha;
private Main(){
label1 = new JLabel("原文:");
label2 = new JLabel("摘要:");
area = new JTextArea(10,20);
field = new JTextField(35);
md5 = new JButton("MD5");
sha = new JButton("SHA");
init();
}
private void init(){
JPanel north,center,south;
north = new JPanel();
north.setLayout(new BorderLayout());
north.add(label1,BorderLayout.NORTH);
JScrollPane jsp = new JScrollPane(area);
north.add(jsp,BorderLayout.CENTER);
center = new JPanel();
center.add(label2);
center.add(field);
south = new JPanel();
south.add(md5);
south.add(sha);
add(north,BorderLayout.NORTH);
add(center,BorderLayout.CENTER);
add(south,BorderLayout.SOUTH);
reg();
showMe();
}
private void reg(){
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
md5.addActionListener(e ->{
Core core = new Core("md5");
field.setText(core.get(area.getText()));
});
sha.addActionListener(e ->{
Core core = new Core("sha");
field.setText(core.get(area.getText()));
});
}
private void showMe(){
setTitle("SHA/MD5 Translate");
setLocationRelativeTo(null);
pack();
setResizable(false);
setVisible(true);
}
public static void main(String []args){
new Main();
}
}
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* @author love-bella
*/
class Core {
private MessageDigest digest;
Core(String type){
try{
digest = MessageDigest.getInstance(type);
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
}
}
String get(String msg){
byte[] input = msg.getBytes();
byte[] temp = digest.digest(input);
return bytesToHex(temp);
}
private static String bytesToHex(byte[] bytes) {
StringBuilder buffer = new StringBuilder();
int digital;
for (byte aByte : bytes) {
digital = aByte;
if (digital < 0) {
digital += 256;
}
if (digital < 16) {
buffer.append("0");
}
buffer.append(Integer.toHexString(digital));
}
return buffer.toString().toUpperCase();
}
}
效果图: