java 中文件的 MD5 和 SHA-1 使用
Java 中提供了一个类 java.security.MessageDigest 类是一种提供密码安全消息摘要如 SHA-1 和
MD5 功能的引擎类。不需要额外使用第三方组件,且支持超大文件。
下面代码是计算文件的 MD5 值的完整代码
// 计算文件的 MD5 值
public static String getFileMD5(File file) {
if (!file.isFile()) {
return null;
}
MessageDigest digest = null;
FileInputStream in = null;
byte buffer[] = new byte[8192];
int len;
try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file);
while ((len = in.read(buffer)) != -1) {
digest.update(buffer, 0, len);
}
BigInteger bigInt = new BigInteger(1, digest.digest());
return bigInt.toString(16);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
下 面 代 码 是 计 算 文 件 的 SHA-1 值 的 完 整 代 码 , 其 实 与 上 述 代 码 只 有 在 获 取
MessageDigest 的实例时传入的内容不一样而已,其他代码都是相同的。
// 计算文件的 SHA-1 值
public static String getFileSha1(File file) {
if (!file.isFile()) {
return null;