??????MD5?,????Java?MessageDigest???????????:
import java.io.FileInputStream; import java.io.IOException; import java.security.DigestInputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class FileMD5Checksum { public static String getFileMD5(String filePath) { try { MessageDigest md = MessageDigest.getInstance("MD5"); FileInputStream fis = new FileInputStream(filePath); DigestInputStream dis = new DigestInputStream(fis, md); byte[] buffer = new byte[1024]; while (dis.read(buffer) != -1) { // ????????????MD5? } dis.close(); byte[] digest = md.digest(); StringBuilder sb = new StringBuilder(); for (byte b : digest) { sb.append(String.format("x", b & 0xff)); } return sb.toString(); } catch (NoSuchAlgorithmException | IOException e) { e.printStackTrace(); return null; } } public static void main(String[] args) { String filePath = "path/to/file"; String md5 = getFileMD5(filePath); System.out.println("File MD5: " + md5); } }
??????filePath
???????????????,????????MD5??