参考多篇网上的资料。 记录一下 java用MD5验证文件的方法,
import java.applet.*;
import java.io.*;
import java.security.*;
/**
* MD5比较文件
* @author Administrator
*
*/
public class MD5Test {
public static char[] hexChar = {'0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', 'a', 'b',
'c', 'd', 'e', 'f'};
public static void main(String[] args) throws
Exception {
String fileName = "D:\\FinanceSetup.zip";
String fileName2 = "D:\\httpd-2.2.14.tar.gz";
String hashType = "MD5";
System.out.println(hashType + " == " +
getHash(fileName2, hashType));
System.out.println(hashType + " == " +
getHash(fileName, hashType));
}
public static String getHash(String fileName, String hashType) throws
Exception {
InputStream fis;
fis = new FileInputStream(fileName);
byte[] buffer = new byte[1024];
MessageDigest md5 = MessageDigest.getInstance(hashType);
int numRead = 0;
while ((numRead = fis.read(buffer)) > 0) {
md5.update(buffer, 0, numRead);
}
fis.close();
return toHexString(md5.digest());
}
/**
* 0xf0 :为16进制数
* 转成10进制为 240
* 转成2进制为 11110000
*
* 解释:(b[i]&0xf0)>>>4
* -->将b[i]的低4位清零后, (将b[i]转成2进制 再 & 0xf0 既 & 11110000 ; 例如:01010101 & 11110000 结果是 01010000)
* 再无符号的右移4位 既取出高4位
* 作为数组hexChar的下标 拿到对应的16进制符
* @param b byte数组
* @return
*/
public static String toHexString(byte[] b) {
StringBuilder sb = new StringBuilder(b.length <<1);
for (int i = 0; i < b.length; i++) {
sb.append(hexChar[(b[i] & 0xf0) >>> 4]);
sb.append(hexChar[b[i] & 0x0f]);
}
return sb.toString();
}
}
分享到:
相关推荐
标题“Flex多文件上传+md5验证文件是否上传”揭示了该技术的核心要点:使用Flex来处理多个文件的上传,并通过MD5哈希校验确保上传的文件与原始文件一致,防止数据篡改。 1. **多文件上传**:在Flex中,可以利用...
"Hash MD5验证 文件校验"这个标题所提及的就是一种常见的文件校验方法,它使用MD5(Message-Digest Algorithm 5)哈希算法来生成文件的数字指纹。MD5是由美国计算机科学家Ronald Rivest在1991年设计的一种广泛使用的...
文件MD5验证:在软件分发或文件传输时,提供文件的MD5值可以让接收方计算接收到的文件的MD5值并与之对比,以确认文件是否完整无误。文件MD5的计算通常是对文件的每个字节逐个读取,然后通过MD5算法生成唯一的哈希值...
./md5 -f nankai.txt nankai.md5 验证文件完整性方法二 实验涉及的文件包括: (1) main.cpp:主函数文件。 (2) helpFunc.h:功能函数定义。 (3) helpFunc.cpp:功能函数实现。 (4) MD5.h:MD5 类定义。 (5...
文件完整性检查工具,如"MD5 Checksum Verifier v3.9-CRD",是利用MD5算法来验证文件是否保持原样的实用程序。它的工作原理是先计算原始文件的MD5哈希值,然后在文件传输或操作后再次计算该值,对比两次哈希值是否...
在Java编程中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的摘要表示,通常用于验证文件的完整性和一致性。本示例代码是关于如何使用Java来计算文件的MD5哈希...
标题中的"验证文件完整的MD5验证器"是指一种工具,它可以计算文件的MD5散列值并与预知的MD5值进行对比,以此来确认文件是否完整无误。这在下载大文件、软件安装包或者重要文档时特别有用,因为一旦文件内容有任何...
但在验证文件完整性方面,MD5仍然是一个有效且常见的方法,尤其是在日常的文件下载和传输中。 总的来说,MD5验证软件是保障数据安全、确保文件未被篡改的重要工具。通过使用像"md5效验工具.exe"这样的软件,用户...
在这个场景中,我们有一个名为“mymd5”的压缩包文件,它很可能包含了一个Android应用或库,用于计算和验证文件的MD5值。下面将详细介绍Android环境下如何实现文件的MD5验证。 首先,我们需要理解MD5的基本原理。MD...
MD5验证工具是一种用于确认文件完整性和未被篡改的重要工具。在IT行业中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意大小的输入数据转化为固定长度的128位(通常表示为32位的十六...
3. **批量处理**:高级的MD5验证工具可能支持批量处理多个文件,一次性计算并验证大量文件的MD5值,大大提高工作效率。 4. **界面友好**:贝壳MD5验证工具被描述为“很好用”,这可能意味着它具有直观的用户界面,...
文件MD5验证是确保文件完整性和未被篡改的重要手段。在安全编程中,开发者会为原始文件计算MD5值并存储,当用户下载或传输文件后,可以通过再次计算文件的MD5值并与原始值进行对比,来确认文件在传输过程中是否保持...
MD5验证程序是一种用于确认文件完整性和未被篡改的工具。在IT行业中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为固定长度的摘要信息,通常是一个128位的二进制数,...
因此,MD5常用于文件的完整性验证,一旦文件内容发生改变,其MD5值也会随之改变。 在VC++中实现MD5文件校验,可以使用如OpenSSL库这样的第三方库,它提供了MD5计算的API。首先,我们需要将OpenSSL库集成到VC++项目...
在IT领域,尤其是在数据处理和安全验证中,计算文件的MD5(Message-Digest Algorithm 5)哈希值是一项常用的技术。MD5是一种广泛使用的加密散列函数,它能够将任意大小的输入(也称为“预映射”或“消息”)转化为一...
补丁的安装过程通常包括下载文件(即"windows7 802.1X MD5验证补丁"),然后按照提供的指南或向导进行安装。安装后,可能需要重启计算机以使改动生效,并通过网络设置来配置802.1X认证。 总的来说,"win7 802.1X MD...
标题中的"MD5验证工具文件证工具"指的是专门用来检验ISO文件(如操作系统镜像)的MD5校验码的软件工具,确保用户下载的ISO文件与原始发布者提供的MD5值相匹配,从而验证其真实性。 MD5(Message-Digest Algorithm 5...
标题“MD5.rar 下载网络的文件带MD5验证的,可以用这个计算”表明这是一个与MD5相关的压缩包,可能包含一个名为MD5.exe的可执行程序,用于计算文件的MD5值。MD5值在下载文件时特别有用,因为它允许用户比较原始...
这些工具都是为了方便用户快速计算文件的MD5值并与官方提供的校验和进行对比,以验证文件的完整性。 HashCalc是一款功能强大的哈希计算工具,支持多种哈希算法,包括MD5。用户可以通过它快速计算文件的MD5值,只需...
为了达到这一目标,开发者可以采用校验和或哈希函数,如MD5(Message-Digest Algorithm 5),来验证文件是否被篡改。MD5是一种广泛使用的加密散列函数,产生一个128位(16字节)的散列值,通常表示为32个十六进制...