import java.io.*; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * @description: * @projectName:HelloWorld * @see:PACKAGE_NAME * @author:郑晓龙 * @createTime:2019/5/15 8:48 * @version:1.0 */ public class MD5DigestTest { public static void main(String[] args) { System.out.println(stringMd5Hex("admin")); long t1 = System.currentTimeMillis(); System.out.println(fileMd5Hex("e:/CentOS-7-x86_64-DVD-1810.iso")); System.out.println("timing:"+(System.currentTimeMillis()-t1)); } public static String stringMd5Hex(String str) { MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } BigInteger bigInt = new BigInteger(1, md5.digest(str.getBytes())); return bigInt.toString(16); } public static String fileMd5Hex(String fileName) { MessageDigest md = null; try (InputStream inputStream = new BufferedInputStream(new FileInputStream(new File(fileName)))) { md = MessageDigest.getInstance("MD5"); byte[] buf = new byte[1024*10]; int len; while ((len = inputStream.read(buf)) != -1) { md.update(buf, 0, len); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } BigInteger bigInt = new BigInteger(1, md.digest()); return bigInt.toString(16); } }