package com.jiayue.client.util; import java.security.MessageDigest; /** * MD5 工具类-建议添油加醋的对入参 str 改造一下 * * @author Administrator */ public class MD5Util { //工具类不允许被实例化 private MD5Util() throws Exception { throw new Exception("异常"); } public static String encode(String str) { MessageDigest md5; try { md5 = MessageDigest.getInstance("MD5"); } catch (Exception e) { throw new RuntimeException(e); } char[] charArray = str.toCharArray(); byte[] byteArray = new byte[charArray.length]; for (int i = 0; i < charArray.length; i++) { byteArray[i] = (byte) charArray[i]; } byte[] md5Bytes = md5.digest(byteArray); StringBuilder hexValue = new StringBuilder(); for (byte md5Byte : md5Bytes) { int val = ((int) md5Byte) & 0xff; if (val < 16) { hexValue.append("0"); } hexValue.append(Integer.toHexString(val)); } return hexValue.toString(); } /** * 字符串的MD5 * * @param plainText 内容 * @param encryption 加密 * @return 加密结果 */ public static String encode(String plainText, String encryption) { try { MessageDigest md = MessageDigest.getInstance(encryption); md.update(plainText.getBytes()); byte[] b = md.digest(); int i; StringBuilder buf = new StringBuilder(); for (byte value : b) { i = value; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } return buf.toString(); } catch (Exception e) { e.printStackTrace(); } return ""; } }