`

JAVA计算文件的MD5值

    博客分类:
  • md5
阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.HashMap;
import java.util.Map;

public class FileDigest {
  /**
   * 获取单个文件的MD5值!
   * @param file
   * @return
   */
  public static String getFileMD5(File file) {
    if (!file.isFile()){
      return null;
    }
    MessageDigest digest = null;
    FileInputStream in=null;
    byte buffer[] = new byte[1024];
    int len;
    try {
      digest = MessageDigest.getInstance("MD5");
      in = new FileInputStream(file);
      while ((len = in.read(buffer, 0, 1024)) != -1) {
        digest.update(buffer, 0, len);
      }
      in.close();
    } catch (Exception e) {
      e.printStackTrace();
      return null;
    }
    BigInteger bigInt = new BigInteger(1, digest.digest());
    return bigInt.toString(16);
  }
  
  /**
   * 获取文件夹中文件的MD5值
   * @param file
   * @param listChild ;true递归子目录中的文件
   * @return
   */
  public static Map<String, String> getDirMD5(File file,boolean listChild) {
    if(!file.isDirectory()){
      return null;
    }
    //<filepath,md5>
    Map<String, String> map=new HashMap<String, String>();
    String md5;
    File files[]=file.listFiles();
    for(int i=0;i<files.length;i++){
      File f=files[i];
      if(f.isDirectory()&&listChild){
        map.putAll(getDirMD5(f, listChild));
      } else {
        md5=getFileMD5(f);
        if(md5!=null){
          map.put(f.getPath(), md5);
        }
      }
    }
    return map;
  }

}
分享到:
评论

相关推荐

    Java计算文件MD5值(支持大文件)

    Java计算文件MD5值(支持大文件) package com.hthl.xxtd; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; import org....

    java源码 java 获取文件md5值(用于检测文件完整性) 2018127

    在实际应用中,你可以将计算出的MD5值保存下来,当需要验证文件时,只需再次计算文件的MD5值并与保存的值进行比较。如果两者相同,那么可以认为文件未被修改;如果不同,则可能文件在传输或存储过程中发生了变化。 ...

    java 获取文件MD5值

    这篇名为“java 获取文件MD5值”的博客文章可能讲述了如何在Java中实现这一功能。首先,我们需要了解MD5的计算过程,这通常通过调用Java的`java.security.MessageDigest`类来完成。下面是一个简单的步骤概述: 1. ...

    JavaSwing文件Md5值计算器

    JavaSwing文件Md5值计算器是一款基于Java Swing开发的实用工具,主要用于计算文件的MD5哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常用32个十六...

    获取目录下所有文件和文件夹,并计算其MD5值,两个文件夹比较,得出被篡改的目录路径

    在IT领域,尤其是在系统安全和文件管理中,计算文件的MD5值是一个常见的操作。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的输入转化为固定长度的输出,通常是一个128位的二进制数...

    一个比较好用的md5计算工具

    这个“一个比较好用的md5计算工具”很可能是一个名为“MD5Summer”的应用程序,提供计算文件MD5值的功能。MD5Summer.exe很可能是该工具的可执行文件,用户下载后可以直接运行。下面我们将详细探讨MD5计算工具和MD5...

    计算文件的MD5值

    计算文件的MD5值是一个验证文件完整性的常用方法。当你有两个看似相同的文件,但不确定它们是否完全一致时,可以通过计算这两个文件的MD5值进行比较。如果两个文件的MD5值相同,那么我们可以非常确定这两个文件内容...

    java调用MD5加密方式计算摘要值(有界面)

    在提供的"MessageSecurity"文件中,可能包含了一个具有图形用户界面(GUI)的Java应用程序,该程序允许用户输入文本并显示其MD5摘要值。这可能是为了教学目的,让用户直观地理解MD5加密的过程。这样的界面通常会包含...

    java实现的计算文件的md5值

    java实现的计算文件的md5值 工具类代码

    JAVA_对文件MD5加密

    ### JAVA_对文件进行MD5加密 在计算机科学与信息安全领域中,MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据映射为一个固定长度(通常是128位)的十六进制数值。这种算法在数据...

    解决java 与C# MD5 不一致问题 代码

    本文将详细介绍如何解决Java与C#中MD5哈希值不一致的问题,并提供相应的代码示例。 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是RSA数据安全公司设计并发布的一种散列函数,它能够接收任意长度的...

    java中文件的MD5和SHA-1的使用

    在计算文件的 MD5 值时,需要使用 MessageDigest 类的 getInstance 静态方法来获取 MessageDigest 对象,并将参数设置为 "MD5"。然后,使用 FileInputStream 读取文件的内容,并将其传递给 MessageDigest 对象的 ...

    java写的 文件MD5码计算工具 及源码

    Java作为一种多平台通用的编程语言,提供了计算文件MD5码的功能。本项目就是一个基于Java编写的文件MD5码计算工具,使用NetBeans作为集成开发环境(IDE)进行开发。 首先,MD5码的计算原理是通过特定算法将输入的...

    计算文件MD5

    在标题"计算文件MD5"中,我们讨论的是如何通过编程实现对文件内容进行MD5哈希计算,生成一个唯一的MD5值,以验证文件是否被篡改或在传输过程中是否保持完整。计算文件MD5的步骤一般包括以下几个部分: 1. **读取...

    java 源代码 软件 获得文件的MD5值

    java源码,用来获得文件的MD5,如果电脑上没有MD5软件,可以用这个,一运行就知道MD5值是多少。 略作修改即可计算字符串的MD5值。

    如何在不额外读流的情况下计算md5值(csdn)————程序.pdf

    总结来说,计算文件MD5值时,如果考虑到性能优化,应该尽量避免额外的磁盘读写操作。使用Java内置的`MessageDigest`类可以实现边下载边计算MD5,从而减少I/O操作,提高程序效率。在实际开发中,可以根据具体需求和...

    MD5算法的JavaBean.rar_md5_md5 文件比对 java_md5算法_指纹_计算 文件 MD5

    在描述中提到的"文件比对",即通过计算两个文件的MD5值来判断它们是否相同。如果两个文件的MD5值一致,那么我们通常认为这两个文件内容是相同的,因为MD5算法的特性决定了极小的差异会产生完全不同的摘要。例如,你...

    JS 生成MD5值和JAVA生成MD5值,自己测试过很好用

    标题提到的"JS生成MD5值和JAVA生成MD5值",实际上是指在JavaScript和Java这两种不同的编程语言中,如何对同一份数据计算MD5哈希值。由于MD5算法是公开的,理论上在任何支持该算法的编程环境下都应该得到相同的输出。...

    查看文件MD5值的程序

    具体到这个“查看文件MD5值的程序”,可能是用某种编程语言实现的一个小型应用,用户可以指定文件路径,程序则会计算并显示文件的MD5值。这样的程序对于日常文件管理、数据验证等任务非常实用,尤其适合非专业人员...

Global site tag (gtag.js) - Google Analytics