开始
package com.xjxcc.util;
import java.security.MessageDigest;
public class Md5Util {
/**
* 将明文,按照MD5方式转成暗文
* @param password:表示明文
* @return : 表示对应的暗文
*/
public static String encodeByMd5(String password) throws Exception{
if(password==null || password.trim().length()==0){
return null;
}
//创建MessageDigest类
MessageDigest md5 = MessageDigest.getInstance("MD5");
//将明文转暗文
byte[] byteArray = md5.digest(password.getBytes());
//暗文
String passwordMD5 = byteArrayToHexString(byteArray);
return passwordMD5;
}
/**
* 将byte[]中的每一个byte类型的值,转成16进制数
*/
private static String byteArrayToHexString(byte[] byteArray){
StringBuffer sb = new StringBuffer();
for(byte b : byteArray){
sb.append(byteToHexString(b));
}
return sb.toString();
}
/**
* 将byte,转成16进制数
*/
private static String byteToHexString(byte b){
//将byte值覆给int型值
int n = b;
//如果n是负数的话
if(n < 0){
n = n + 256;
}
//n除以16的商,作为高位
int height = n / 16;//14
int low = n % 16;//1
//查表得到对应的16进制数
return hex[height]+hex[low];
}
private static String[] hex = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
}
结束