package org.neframework.jpa.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD加密工具
*
* @author zhangwei
*
*/
public class MD5 {
private static String encrypte(String plainText, String algorithm) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance(algorithm);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
md.update(plainText.getBytes());
byte[] b = md.digest();
StringBuilder output = new StringBuilder(32);
for (int i = 0; i < b.length; i++) {
String temp = Integer.toHexString(b[i] & 0xff);
if (temp.length() < 2) {
output.append("0");
}
output.append(temp);
}
return output.toString();
}
public static String md5(String inStr) {
if (inStr == null || inStr.equals("")) {
return "";
}
MessageDigest md5 = null;
try {
md5 = MessageDigest.getInstance("MD5");
} catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
return "";
}
char[] charArray = inStr.toCharArray();
byte[] byteArray = new byte[charArray.length];
for (int i = 0; i < charArray.length; i++)
byteArray[i] = (byte) charArray[i];
byte[] md5Bytes = md5.digest(byteArray);
StringBuilder hexValue = new StringBuilder();
for (int i = 0; i < md5Bytes.length; i++) {
int val = ((int) md5Bytes[i]) & 0xff;
if (val < 16)
hexValue.append("0");
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String[] args) {
System.err.println("md5=" + MD5.md5("111111"));
System.err.println("md5=" + MD5.encrypte("admin", "MD5"));
System.err.println("md2=" + MD5.encrypte("admin", "MD2"));
System.err.println("sha-512=" + MD5.encrypte("admin", "SHA-512"));
System.err.println("sha-256=" + MD5.encrypte("admin", "SHA-256"));
System.err.println("sha-1=" + MD5.encrypte("admin", "SHA-1"));
}
}