private final char[] hexCode = "0123456789ABCDEF".toCharArray()
public String toHexString(byte[] data) {
StringBuilder r = new StringBuilder(data.length * 2)
for (byte b : data) {
r.append(hexCode[(b >> 4) & 0xF])
r.append(hexCode[(b & 0xF)])
}
return r.toString()
}
public String getFileMD5(File file) {
if (!file.exists() || !file.isFile()) {
return null
}
MessageDigest digest = null
FileInputStream in = null
byte buffer[] = new byte[1024]
int len
try {
digest = MessageDigest.getInstance("MD5")
in = new FileInputStream(file)
while ((len = in.read(buffer, 0, 1024)) > 0) {
digest.update(buffer, 0, len)
}
in.close()
} catch (Exception e) {
e.printStackTrace()
return null
}
return toHexString(digest.digest())
}
public String getFileMD5(String filepath) {
File file = new File(filepath)
return getFileMD5(file)
}