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; } }
相关文章推荐
- java学习笔记之java如何快速入门
- 【转载】jdk、jre、jvm等名词解释
- Java并发编程:Lock
- eclipse 快捷键, eclipse 常用快捷键
- 《Java程序设计》第4周学习总结
- SpringMVC + Mybatis 实现用户登录功能
- Java中static修饰类的问题
- 20145324 《Java程序设计》第4周学习总结
- Java_Servlet笔记:转发与重定向
- Spring的设计目标
- 【转】spring - ioc和aop
- Java中LinkedList原理解析
- java.lang.InstantiationException
- 快速排序(java)
- 【Android】Eclipse自动编译NDK/JNI的三种方法
- eclipse设置打印GC
- 详解spring-MVC DispatcherServlet运行
- java线程同步——CountDownLatch
- Java-LinkedHashMap源码解读
- Java接受输入参数