/**
*
* MD5加密密码
*
* @param password
* @return 返回16位长度
*
* @author ailo555
* @date 2015年12月28日 下午4:56:08
*/
public static String stringMD5(String password) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
byte[] inputByteArray = password.getBytes();
messageDigest.update(inputByteArray);
byte[] resultByteArray = messageDigest.digest();
// 字符数组转换成字符串
char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
'D', 'E', 'F'};
char[] resultCharArray = new char[resultByteArray.length * 2];
int index = 0;
for (byte b : resultByteArray) {// 遍历字节数组,通过位运算(位运算效率高),转换成字符放到字符数组中去
resultCharArray[index++] = hexDigits[b >>> 4 & 0xf];
resultCharArray[index++] = hexDigits[b & 0xf];
}
return new String(resultCharArray).substring(8, 24);//返回中间的16位
} catch (NoSuchAlgorithmException e) {
return null;
}
}
java 的MD5加密密码
最新推荐文章于 2024-06-30 14:03:42 发布