public static void MD5Test() { MessageDigest md = null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } String s = "ss"; // 将要加密的字符串 System.out.println("加密之前的字符串:" + s); md.update(s.getBytes()); // MD5加密算法只是对字符数组而不是字符串进行加密计算,得到要加密的对象 byte[] bs = md.digest(); // 进行加密运算并返回字符数组 for (byte b : bs) { System.out.print(b + "|"); // 打印出来加密后的字符数组 } System.out.println(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < bs.length; i++) { // 字节数组转换成十六进制字符串,形成最终的密文 int v = bs[i] & 0xff; if (v < 16) { sb.append(0); } sb.append(Integer.toHexString(v)); } System.out.println("加密之后的字符串:" + sb); }