java代码如何获取一个文件的MD5哈希值呢?
下文笔者讲述计算一个文件的MD5值的方法及示例分享,如下所示
计算一个文件MD5值的实现思路
1.导入java.io和java.security包
2.使用MessageDigest.getInstance("MD5")
获取MessageDigest对象
3.使用FileInputStream读取文件数据
更新MessageDigest对象状态
4.使用md.digest()方法完成计算
返回的是byte[]类型的哈希值。
5.byte[]转换为16进制字符串
例:计算一个文件的MD5哈希值
import java.io.*;
import java.security.*;
public class MD5Utils {
//定义计算文件的MD5值的方法,只需传入一个file对象即可
public static String getMD5(File file) throws IOException, NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("MD5");
InputStream is = new FileInputStream(file);
byte[] buffer = new byte[8192];
int read = 0;
try {
while ((read = is.read(buffer)) > 0) {
md.update(buffer, 0, read);
}
} finally {
is.close();
}
byte[] md5 = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < md5.length; i++) {
sb.append(Integer.toString((md5[i] & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


