import java.applet.*;
import java.io.*;
import java.security.*;
public class HashFile {
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:\\programs\\Foxmail.rar";
String hashType = "MD5";
System.out.println(hashType + " == " +
getHash(fileName, hashType));
hashType = "SHA1";
System.out.println(hashType + " == " +
getHash(fileName, hashType));
hashType = "SHA-256";
System.out.println(hashType + " == " +
getHash(fileName, hashType));
hashType = "SHA-384";
System.out.println(hashType + " == " +
getHash(fileName, hashType));
hashType = "SHA-512";
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());
}
public static String toHexString(byte[] b) {
StringBuilder sb = new StringBuilder(b.length * 2);
for (int i = 0; i < b.length; i++) {
sb.append(hexChar[(b[i] & 0xf0) >>> 4]);
sb.append(hexChar[b[i] & 0x0f]);
}
return sb.toString();
}
}
分享到:
相关推荐
比较两个文件夹的内容时,可以将每个文件或子目录的路径和对应的MD5值存储为键值对,形成两个哈希表。然后,通过比较这两个哈希表,找出只在一个文件夹中存在的元素,以及MD5值不匹配的文件,这些就是被篡改的文件或...
这个函数接受两个参数:`pMd5`是一个字符数组,用于存储计算得到的MD5值;`pFileName`是待处理文件的路径。函数返回一个布尔值,表示计算MD5值是否成功。 在C++中实现MD5,通常需要以下步骤: 1. **包含必要的库**...
标题“文件MD5值检测”指的是在下载文件后,通过计算并比较文件的MD5值来验证文件的完整性。这个过程通常包括以下步骤: 1. **获取源文件的MD5值**:在下载文件前,我们需要先知道原始文件的MD5值,这通常由文件...
描述中提到的"两个文件的MD5相同",这意味着这两个文件经过MD5哈希计算后得到了相同的哈希值。这在很多情况下意味着两个文件的内容是完全一样的,因为MD5的特性是只要输入的明文不同,输出的哈希值就应当不同。然而...
此外,"对两个文件进行二进制级别比较"是MD5值的主要应用之一,通过比较两个文件的MD5值,如果它们相同,那么我们可以认为这两个文件在二进制内容上是完全一样的,即使文件大小或修改日期不同。这在检测文件是否被...
这个"hash 快速验证文件md5值"的工具正是为了方便用户快速计算并比对文件的MD5值。 MD5的主要用途在于检验文件的完整性和一致性。当你从网络下载一个大文件或重要文件时,可以先获取该文件的官方MD5值,然后用MD5...
标题中的“自动获取压缩文件MD5值,并生成json”指的是一个Windows桌面应用程序工具,它能够自动计算一个压缩文件(如ZIP或RAR)的MD5校验和,并将这个值保存到JSON格式的文件中。MD5(Message-Digest Algorithm 5)...
4. **源代码**:提供的压缩包中包含`md5.cpp`和`md5.h`两个文件。`md5.cpp`很可能是实现MD5算法和相关功能的C++源代码,而`Md5Encoder.exe`则应该是编译后的可执行文件,可以直接运行计算MD5值。通过查看这些源代码...
在提供的压缩包文件中,有两个文件: 1. SkinH_EL.dll - 这可能是一个动态链接库文件(DLL),它包含可由其他程序调用的函数。DLL文件有助于节省内存和磁盘空间,因为多个程序可以共享同一份代码。 2. 文件MD5修改器...
PB9计算文件MD5值和本地IP的知识点主要涉及两个核心概念:MD5散列算法和获取本地IP地址。这两个技术在IT行业中有着广泛的应用。 首先,MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,产生一个...
这类工具对于验证下载的文件是否完整,或者检测两个文件是否内容相同非常有用。例如,当你从互联网上下载一个大文件后,可以使用MD5值测算工具来计算下载的文件与原始文件的MD5值,如果两者一致,说明文件在传输过程...
- 如果需要比较文件,可以计算另一个文件的MD5,然后手动或通过工具比较两个MD5值是否一致。 综上所述,MD5计算工具,如MD5Summer,是日常维护数据完整性和验证文件一致性的重要工具。尽管MD5在安全性方面存在不足...
当你有两个看似相同的文件,但不确定它们是否完全一致时,可以通过计算这两个文件的MD5值进行比较。如果两个文件的MD5值相同,那么我们可以非常确定这两个文件内容是完全一样的;如果MD5值不同,则表明至少有一个...
标题中的"MD5值对比用于检测下载文件的正确",意味着当用户从网络上下载文件时,可以通过比较下载后的文件MD5值与源文件提供的MD5值来确认文件是否完整无误。如果两者匹配,说明下载的文件与原始文件内容一致,没有...
1. 文件校验:当下载或传输大文件时,接收方可以通过计算文件的MD5值并与提供者给出的MD5值进行对比,确保文件在传输过程中没有被篡改或损坏。 2. 密码存储:尽管MD5的安全性已不如从前,但在一些不太关注安全性的...
2. 数据安全:MD5虽然因为存在碰撞问题(两个不同的文件可能生成相同的MD5值),不再适用于安全性要求极高的场景,如密码存储,但在一般的数据校验中仍能起到很好的作用。 3. 可视化操作界面:描述中提到的工具具有...
当我们谈论“修改文件MD5值”时,通常有两种情况: 1. **故意篡改**:在某些特殊情况下,可能需要改变文件的MD5值,比如测试或破解验证机制。但这通常是非法或不道德的,因为MD5的主要用途就是确保数据的完整性。...
两个MD5相同的文件
如果两个文件的MD5值相同,那么我们可以推断这两个文件内容是完全一致的。 标题“文件MD5值简易计算工具”表明这是一个专门用于计算文件MD5值的应用程序,设计简洁,易于使用,用户可以利用此工具快速获取文件的...
描述中提到,该工具的主要功能是进行文件的校验,通过计算文件的MD5哈希值,用户可以比对两个版本的文件,如果MD5值相同,那么这两个文件的内容就是一致的,反之则可能存在差异。这对于下载大文件、软件安装包、系统...