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值(支持大文件) package com.hthl.xxtd; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; import org....
在实际应用中,你可以将计算出的MD5值保存下来,当需要验证文件时,只需再次计算文件的MD5值并与保存的值进行比较。如果两者相同,那么可以认为文件未被修改;如果不同,则可能文件在传输或存储过程中发生了变化。 ...
这篇名为“java 获取文件MD5值”的博客文章可能讲述了如何在Java中实现这一功能。首先,我们需要了解MD5的计算过程,这通常通过调用Java的`java.security.MessageDigest`类来完成。下面是一个简单的步骤概述: 1. ...
JavaSwing文件Md5值计算器是一款基于Java Swing开发的实用工具,主要用于计算文件的MD5哈希值。MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常用32个十六...
在IT领域,尤其是在系统安全和文件管理中,计算文件的MD5值是一个常见的操作。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的输入转化为固定长度的输出,通常是一个128位的二进制数...
这个“一个比较好用的md5计算工具”很可能是一个名为“MD5Summer”的应用程序,提供计算文件MD5值的功能。MD5Summer.exe很可能是该工具的可执行文件,用户下载后可以直接运行。下面我们将详细探讨MD5计算工具和MD5...
计算文件的MD5值是一个验证文件完整性的常用方法。当你有两个看似相同的文件,但不确定它们是否完全一致时,可以通过计算这两个文件的MD5值进行比较。如果两个文件的MD5值相同,那么我们可以非常确定这两个文件内容...
在提供的"MessageSecurity"文件中,可能包含了一个具有图形用户界面(GUI)的Java应用程序,该程序允许用户输入文本并显示其MD5摘要值。这可能是为了教学目的,让用户直观地理解MD5加密的过程。这样的界面通常会包含...
java实现的计算文件的md5值 工具类代码
### JAVA_对文件进行MD5加密 在计算机科学与信息安全领域中,MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据映射为一个固定长度(通常是128位)的十六进制数值。这种算法在数据...
本文将详细介绍如何解决Java与C#中MD5哈希值不一致的问题,并提供相应的代码示例。 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是RSA数据安全公司设计并发布的一种散列函数,它能够接收任意长度的...
在计算文件的 MD5 值时,需要使用 MessageDigest 类的 getInstance 静态方法来获取 MessageDigest 对象,并将参数设置为 "MD5"。然后,使用 FileInputStream 读取文件的内容,并将其传递给 MessageDigest 对象的 ...
Java作为一种多平台通用的编程语言,提供了计算文件MD5码的功能。本项目就是一个基于Java编写的文件MD5码计算工具,使用NetBeans作为集成开发环境(IDE)进行开发。 首先,MD5码的计算原理是通过特定算法将输入的...
在标题"计算文件MD5"中,我们讨论的是如何通过编程实现对文件内容进行MD5哈希计算,生成一个唯一的MD5值,以验证文件是否被篡改或在传输过程中是否保持完整。计算文件MD5的步骤一般包括以下几个部分: 1. **读取...
java源码,用来获得文件的MD5,如果电脑上没有MD5软件,可以用这个,一运行就知道MD5值是多少。 略作修改即可计算字符串的MD5值。
总结来说,计算文件MD5值时,如果考虑到性能优化,应该尽量避免额外的磁盘读写操作。使用Java内置的`MessageDigest`类可以实现边下载边计算MD5,从而减少I/O操作,提高程序效率。在实际开发中,可以根据具体需求和...
在描述中提到的"文件比对",即通过计算两个文件的MD5值来判断它们是否相同。如果两个文件的MD5值一致,那么我们通常认为这两个文件内容是相同的,因为MD5算法的特性决定了极小的差异会产生完全不同的摘要。例如,你...
标题提到的"JS生成MD5值和JAVA生成MD5值",实际上是指在JavaScript和Java这两种不同的编程语言中,如何对同一份数据计算MD5哈希值。由于MD5算法是公开的,理论上在任何支持该算法的编程环境下都应该得到相同的输出。...
具体到这个“查看文件MD5值的程序”,可能是用某种编程语言实现的一个小型应用,用户可以指定文件路径,程序则会计算并显示文件的MD5值。这样的程序对于日常文件管理、数据验证等任务非常实用,尤其适合非专业人员...