try {
FileInputStream in = new FileInputStream(input);
MessageDigest sha = MessageDigest.getInstance("SHA");
DigestInputStream din = new DigestInputStream(in, sha);
int b;
while ((b = din.read()) != -1) ;
din.close();
byte[] digest = sha.digest();
synchronized (System.out) {
System.out.print(input + ": ");
for (int i = 0; i < digest.length; i++) {
System.out.print(digest[i] + " ");
}
System.out.println();
}
}
catch (IOException e) {
System.err.println(e);
}
catch (NoSuchAlgorithmException e) {
System.err.println(e);
}