大文件计算MD5值
2014-05-09 11:12
281 查看
http://www.oschina.net/code/snippet_110182_2469
import org.apache.commons.codec.binary.Hex;import org.apache.commons.codec.digest.DigestUtils;import org.apache.commons.logging.LogFactory;import org.apache.commons.logging.Log;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/*** md5算法工具* @since 2009-8-7 14:46:27*/public class MD5Util {private final static Log log = LogFactory.getLog(MD5Util.class);static MessageDigest md = null;static {try {md = MessageDigest.getInstance("MD5");} catch (NoSuchAlgorithmException ne) {log.error("NoSuchAlgorithmException: md5", ne);}}/*** 对一个文件求他的md5值* @param f 要求md5值的文件* @return md5串*/public static String md5(File f) {FileInputStream fis = null;try {fis = new FileInputStream(f);byte[] buffer = new byte[8192];int length;while ((length = fis.read(buffer)) != -1) {md.update(buffer, 0, length);}return new String(Hex.encodeHex(md.digest()));} catch (FileNotFoundException e) {log.error("md5 file " + f.getAbsolutePath() + " failed:" + e.getMessage());return null;} catch (IOException e) {log.error("md5 file " + f.getAbsolutePath() + " failed:" + e.getMessage());return null;} finally {try {if (fis != null) fis.close();} catch (IOException e) {e.printStackTrace();}}}/*** 求一个字符串的md5值* @param target 字符串* @return md5 value*/public static String md5(String target) {return DigestUtils.md5Hex(target);}}
相关文章推荐
- 计算文件的md5值
- Python -- 计算文件的md5值
- Python实战小程序——计算文件的md5值
- Linux下C语言计算文件的md5值(长度32)
- python计算文件md5值
- 计算文件的MD5值
- c# 计算字符串和文件的MD5值的方法
- 计算字符串,文件的md5值
- 计算文件MD5值 应用层篇
- java计算文件MD5值,比较两文件是否相同
- 计算文件的MD5值
- Linux 计算某文件夹下的所有文件的md5值
- 计算文件的MD5值
- 使用webrtc中的MD5 API计算某个文件的MD5值
- java计算文件的MD5值
- 用windows api 计算文件的md5值
- C# 计算文件的MD5值
- Linux下C语言计算文件的md5值(长度32)
- 如何利用openSsl来计算一个文件的md5值?
- C语言实现计算文件和字符串md5值