Java tutorial
//package com.java2s; //License from project: GNU General Public License import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Main { public static String checksum(String path, String algorithm) { MessageDigest md = null; try { md = MessageDigest.getInstance(algorithm); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } FileInputStream i = null; try { i = new FileInputStream(path); } catch (FileNotFoundException e) { throw new RuntimeException(e); } byte[] buf = new byte[1024]; int len = 0; try { while ((len = i.read(buf)) != -1) { md.update(buf, 0, len); } } catch (IOException e) { } byte[] digest = md.digest(); // HEX StringBuilder sb = new StringBuilder(); for (byte b : digest) { sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1)); } return sb.toString(); } }