您的位置:首页 > 编程语言 > Java开发

java 的MD5加密密码

2016-03-27 16:08 591 查看
/**
*
* 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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: