java 根据文件流获取md5值
时间: 2023-08-29 12:07:03 浏览: 140
java 获取文件MD5值
你可以使用 Java 的 MessageDigest 类来获取文件流的 MD5 值。以下是示例代码:
```java
import java.io.FileInputStream;
import java.io.IOException;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class FileMD5 {
public static void main(String[] args) {
try {
String filename = "path/to/file"; // 替换成要计算 MD5 值的文件路径
MessageDigest md = MessageDigest.getInstance("MD5");
DigestInputStream dis = new DigestInputStream(new FileInputStream(filename), md);
// 读取文件内容,可以根据需要使用缓冲区或者 NIO 实现
while (dis.read() != -1) {
}
dis.close();
byte[] mdBytes = md.digest();
StringBuilder sb = new StringBuilder();
for (byte b : mdBytes) {
sb.append(String.format("%02x", b & 0xff)); // 转换成 16 进制字符串
}
System.out.println("MD5 value of " + filename + " is " + sb.toString());
} catch (NoSuchAlgorithmException | IOException e) {
e.printStackTrace();
}
}
}
```
阅读全文