【java】计算字符串的MD5值

直接上代码

import java.security.MessageDigest; public static String MD5(String key) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; try { byte[] btInput = key.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) { return null; } }

【【java】计算字符串的MD5值】调用下看看如何:
System.out.println(MD5("abc")); //900150983CD24FB0D6963F7D28E17F72

去www.cmd5.com试试计算是否正确:
【java】计算字符串的MD5值
文章图片

如果需要16位MD5,自行截取中间16位即可

    推荐阅读