java 32位MD5加密的大写字符串
2016-04-12 19:19
399 查看
package com.aok.test; import java.security.MessageDigest; public class MD5Test { public static void main(String[] args) { String result = MD5("123456"); System.out.println("result: " + result); System.out.println("length: " + result.length()); } /** * 32位MD5加密的大写字符串 * * @param s * @return */ public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; try { byte[] btInput = s.getBytes(); // 获得MD5摘要算法的 MessageDigest 对象 MessageDigest mdInst = MessageDigest.getInstance("MD5"); // 使用指定的字节更新摘要 mdInst.update(btInput); // 获得密文 byte[] md = mdInst.digest(); // 把密文转换成十六进制的字符串形式 int j = md.length; char str[] = new char[j * 2]; int k = 0; for (int i = 0; i < j; i++) { byte byte0 = md[i]; str[k++] = hexDigits[byte0 >>> 4 & 0xf]; str[k++] = hexDigits[byte0 & 0xf]; } return new String(str); } catch (Exception e) { e.printStackTrace(); return null; } } }
相关文章推荐
- solr入门之设计自己的Java本地缓存工具类
- struts2 利用 POI 导出 excel
- 多线程中线程执行器java5
- java中堆和栈的区别
- 分享某公司JAVA实习生招聘代码面的一道题
- 20145238-荆玉茗 《Java程序设计》第7周学习总结
- Spring与Mybatis三种常用整合方法
- Java学习——运算顺序的详细挖掘(下)
- java集合框架04——LinkedList和源码分析
- Java NIO Scatter / Gather
- Java并发编程系列之三十:多线程的代价
- javax.servlet获取
- Qconf配置管理工具-Java使用文档
- Ubuntu14.04 java环境配置
- eclipse_深入理解查找(Search)功能及其扩展点
- Spring Bean的生命周期
- java robots协议检测工具
- java使用IO读写文件总结
- struts2框架校验时布尔表达式无效 警告: Got result of null when trying to get Boolean.
- java RMI入门指南