package com.linusiyu.common; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; public class MD5Util { public static String MD5(String content){ byte[] result = new byte[]{}; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(content.getBytes("UTF-8")); result = md.digest(); } catch (Exception e) { e.printStackTrace(); } // 使用StringBuilder或者BigInteger都行. StringBuilder sb = new StringBuilder(32); for (int i = 0; i < result.length; i++) { int val = result[i] & 0xff; if (val <= 0xf) { sb.append("0"); } sb.append(Integer.toHexString(val)); } return sb.toString().toLowerCase(); } public static String MD5(final File file) throws Exception { FileInputStream fis = new FileInputStream(file); MessageDigest md = MessageDigest.getInstance("MD5"); byte[] buf = new byte[1024]; int len = -1; while((len = fis.read(buf, 0, 1024)) != -1){ md.update(buf, 0, len); } fis.close(); byte[] result = md.digest(); return new BigInteger(1, result).toString(16).toLowerCase(); } }