加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 教程 > 正文

Java读取文件MD5的两种措施

发布时间:2021-11-20 13:41:48 所属栏目:教程 来源:互联网
导读:最近要弄一下Java读取文件MD5,注意这里是小文件,网上找了一下,有两种解决方案,一种是用MessageDigest来实现,另种是用org.apache.commons.codec.digest来实现,代码如下: package cdm; import java.io.File; import java.io.FileInputStream; import ja

最近要弄一下Java读取文件MD5,注意这里是小文件,网上找了一下,有两种解决方案,一种是用MessageDigest来实现,另种是用org.apache.commons.codec.digest来实现,代码如下:
 
package cdm;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
 
import org.apache.commons.codec.digest.*;
import org.apache.commons.io.IOUtils;
 
public class testMD5 {
 
  public static String getMd5ByFile(File file) throws FileNotFoundException {
        String value = null;
        FileInputStream in = new FileInputStream(file);
  try {
      MappedByteBuffer byteBuffer = in.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, file.length());
      MessageDigest md5 = MessageDigest.getInstance("MD5");
      md5.update(byteBuffer);
      BigInteger bi = new BigInteger(1, md5.digest());
      value = bi.toString(16);
  } catch (Exception e) {
      e.printStackTrace();
  } finally {
            if(null != in) {
              try {
          in.close();
      } catch (IOException e) {
          e.printStackTrace();
      }
      }
  }
  return value;
    }
 
 public static void main(String[] args) throws IOException {
 
  String path="E:commons-codec-1.9-bin.zip";
 
  String v = getMd5ByFile(new File(path));
  System.out.println("MD5:"+v.toUpperCase());
 
  FileInputStream fis= new FileInputStream(path);
  String md5 = DigestUtils.md5Hex(IOUtils.toByteArray(fis));
  IOUtils.closeQuietly(fis);
  System.out.println("MD5:"+md5);
 
  //System.out.println("MD5:"+DigestUtils.md5Hex("WANGQIUYUN"));
 }
 
}

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读