package com.qxueyou.scc.base.util;
|
|
import java.security.MessageDigest;
|
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
|
public class MD5Utils {
|
|
private static final String UTF8 = "utf-8";
|
|
private static Logger log = LogManager.getLogger("MD5Utils");
|
|
/**
|
* MD5Êý×ÖÇ©Ãû
|
* @param src
|
* @return
|
* @throws Exception
|
*/
|
public static String md5Digest(String src) {
|
try {
|
MessageDigest md = MessageDigest.getInstance("MD5");
|
byte[] b = md.digest(src.getBytes(UTF8));
|
return byte2HexStr(b);
|
} catch (Exception e) {
|
log.error(e,e);
|
}
|
return null;
|
}
|
|
/**
|
* ×Ö½ÚÊý×éת»¯Îª´óд16½øÖÆ×Ö·û´®
|
* @param b
|
* @return
|
*/
|
private static String byte2HexStr(byte[] b) {
|
StringBuilder sb = new StringBuilder();
|
for (int i = 0; i < b.length; i++) {
|
String s = Integer.toHexString(b[i] & 0xFF);
|
if (s.length() == 1) {
|
sb.append("0");
|
}
|
sb.append(s.toUpperCase());
|
}
|
return sb.toString();
|
}
|
|
/***
|
* MD5¼ÓÂë Éú³É32λmd5Âë
|
*/
|
public static String string2MD5(String inStr){
|
MessageDigest md5 = null;
|
try{
|
md5 = MessageDigest.getInstance("MD5");
|
}catch (Exception e){
|
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);
|
StringBuffer hexValue = new StringBuffer();
|
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();
|
}
|
}
|