/**
* @author
*
*/
public class MD5 { private static final String[] digital = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e",
"f" }; /**
*
* <p>
* Title: initMD5
* </p>
* <p>
* Description: md5加密
* </p>
*
* @param txt
* @return
* @throws Exception String
*/
public static String initMD5(String txt) throws Exception { // 获取封装MD5算法的核心类
MessageDigest md5 = MessageDigest.getInstance("MD5"); // 将明文经过md5加密后变成长度位16字节的数组----->32位的字符串(16进制)
byte[] bytes = md5.digest(txt.getBytes("utf-8"));
// 用来保存最终的密文
String miWen = "";
for (byte b : bytes) {
int temp = b;
if (temp < 0) {
temp += 256;
}
// 经过判断后,temp一定是正数
int index1 = temp / 16;// 取商
int index2 = temp % 16;// 取余
miWen += digital[index1] + digital[index2]; }
return miWen;
} /**
*
* <p>Title: finalMD5</p>
* <p>Description: md5最终加密</p>
* @param txt
* @return
* @throws Exception
* String
*/
public static String finalMD5(String txt) throws Exception {
return initMD5(initMD5(initMD5(txt + "md5" + txt) + "md5" + txt));
} public static void main(String[] args) throws Exception {
String miWen = MD5.finalMD5("123456");
System.out.println(miWen);
}

最新文章

  1. Java中的多线程你只要看这一篇就够了
  2. 谢欣伦 - OpenDev原创教程 - 蓝牙设备查找类CxBthRadio &amp; CxBthRadioFind
  3. Coursera台大机器学习课程笔记6 -- The VC Dimension
  4. Leetcode: Frog Jump
  5. I love sneakers!(分组背包HDU3033)
  6. 转:Java Annotation详解
  7. C++访问声明
  8. 试解析Tomcat运行原理(一)--- socket通讯(转)
  9. Hibernate4读取Clob数据
  10. 《Swift程序设计语言》中国翻译和学习笔记page23
  11. EasyUI基础知识Draggable(拖累)
  12. 两种高性能 I/O 设计模式 Reactor 和 Proactor
  13. java实现线性表
  14. 对ES6的yield示例分析
  15. 三年磨一剑,robot framework 自动化测试框架核心指南,真正讲透robot framework自动化测试框架(笔者新书上架)。
  16. [R] 繪圖 Par 函数
  17. 小程序canvas绘制渐变色(简单入门)
  18. Ubuntu 14.04 安装caffe
  19. commit lint规范化团队git提交信息
  20. apache2反向代理

热门文章

  1. HTTP状态码详解(上)
  2. Demo:基于 Flink SQL 构建流式应用
  3. Jmeter注册100个账户的三个方法
  4. C#初识LINQ
  5. 2017年陕西省网络空间安全技术大赛——人民的名义-抓捕赵德汉2——Writeup
  6. frp 使用基础笔记
  7. laravel框架学习笔记
  8. The Preliminary Contest for ICPC Asia Shenyang 2019 C Dawn-K's water (完全背包)
  9. java篇 之 静态
  10. mcast_get_ttl函数