本文共 2441 字,大约阅读时间需要 8 分钟。
1 /** 2 * 计算文件的MD5码 3 * @param file 4 * @return 5 */ 6 public static String getMD5(File file) { 7 FileInputStream fis = null; 8 try { 9 MessageDigest md = MessageDigest.getInstance("MD5");10 fis = new FileInputStream(file);11 byte[] buffer = new byte[8192];12 int length = -1;13 System.out.println("开始算");14 while ((length = fis.read(buffer)) != -1) {15 md.update(buffer, 0, length);16 }17 System.out.println("算完了");18 return bytesToString(md.digest());19 } catch (IOException ex) {20 Logger.getLogger(MD5Util.class.getName()).log(Level.SEVERE, null, ex);21 return null;22 } catch (NoSuchAlgorithmException ex) {23 Logger.getLogger(MD5Util.class.getName()).log(Level.SEVERE, null, ex);24 return null;25 } finally {26 try {27 fis.close();28 } catch (IOException ex) {29 Logger.getLogger(MD5Util.class.getName()).log(Level.SEVERE, null, ex);30 }31 }32 }33 34 /**35 * 得到文件的SHA码,用于校验36 * @param file37 * @return38 */39 public static String getSHA(File file) {40 FileInputStream fis = null;41 try {42 MessageDigest md = MessageDigest.getInstance("SHA");43 fis = new FileInputStream(file);44 byte[] buffer = new byte[8192];45 int length = -1;46 System.out.println("开始算");47 while ((length = fis.read(buffer)) != -1) {48 md.update(buffer, 0, length);49 }50 System.out.println("算完了");51 return bytesToString(md.digest());52 } catch (IOException ex) {53 Logger.getLogger(MD5Util.class.getName()).log(Level.SEVERE, null, ex);54 return null;55 } catch (NoSuchAlgorithmException ex) {56 Logger.getLogger(MD5Util.class.getName()).log(Level.SEVERE, null, ex);57 return null;58 } finally {59 try {60 fis.close();61 } catch (IOException ex) {62 Logger.getLogger(MD5Util.class.getName()).log(Level.SEVERE, null, ex);63 }64 }65 }66
本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/5760360.html,如需转载请自行联系原作者