标签:
利用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
标签:
原文地址:http://www.cnblogs.com/erbin/p/4316289.html