java生成MD5

利用java生成MD5串。

1.利用java的MessageDigest 生成字节数组

2.将字节数组转化成16进制数字字符串

直接上代码

 1 //10进制和16进制映射表
 2 String[] strDigits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
 3 //获取MD5处理类
 4 MessageDigest md = MessageDigest.getInstance("MD5");
 5 //需要加密的字符串
 6 String sourceStr = "duang!";
 7 //加密后的字符串
 8 StringBuffer encryptedStr = new StringBuffer();
 9 //md.digest(byte[] bytes);
10 //该函数返回16个有符号的byte值,-127~127
11 byte[] bs = md.digest(sourceStr.getBytes("utf-8"));
12 for(byte b : bs) {
13     int i = b;
14     //+256得到的新数最小为129,保证不和0-127重复
15     //防止出现一下情况(以+127为例)
16     // -127 2 3……和 0 2 3 ……最终一样的情况
17     if(i < 0)
18         i = i+256;
19     //获得16进制高位
20     String h = strDigits[i/16];
21     //获得16进制低位
22     String l = strDigits[i%16];
23     
24     encryptedStr.append(h+l);
25 }
26 System.out.println(encryptedStr);
c6434f883d008ef226f5a942c169b811

MD5网站验证 

原文地址:https://www.cnblogs.com/erbin/p/4316289.html