- 得到字节
- 每个字节与11111111与操作得到int值
- 转换成16进制
- 如果长度小于2 后面加0
- 组合起来返回
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
public static String md5Password(String password){
try {
MessageDigest digest = MessageDigest.getInstance("md5");
byte[] result = digest.digest(password.getBytes());
StringBuffer buffer = new StringBuffer();
for (byte b : result) {
int num = b & 0xff;
String str = Integer.toHexString(num);
if(str.length()==1){
buffer.append("0");
}
buffer.append(str);
}
return buffer.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}
}
}