Intro
This examples will demonstrates how to generate a file checksum with MD5 algorithm. To generate it, you should use MessageDigest class. This output is in the hexadecimal format.
Examples
package com.freesamplecode.java.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class FileChecksumDemo { public static void main(String[] args){ //Step 1 : prepare file name String fileName = "D:/temp/test/file_test.txt"; try { //Step 2 : create MD5 MessageDigest object MessageDigest messageDigest = MessageDigest.getInstance("MD5"); // Step 3 : read data FileInputStream fis = new FileInputStream(fileName); byte[] bytedata = new byte[1024]; int read = 0; while((read = fis.read(bytedata)) != -1){ messageDigest.update(bytedata, 0, read); } //Step 4: calculate digest bytedata byte[] bytemd = messageDigest.digest(); //Step 5 : convert into hex format StringBuffer sb = new StringBuffer(""); for(int i = 0; i < bytemd.length; i++){ sb.append(Integer.toString((bytemd[i] & 0xff) + 0x100, 16).substring(1)); } //Step 6 : Display to console System.out.println("Result....."); System.out.println(fileName+" : " + sb.toString()); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Output
Result..... D:/temp/test/file_test.txt : c16665a5040f355d62eea6d2d5274c83
0 comments: