Friday, April 1, 2016

Java I/O Examples : How To Generate A File Checksum Value With MD5 Algorithm

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

Screenshot

How To Generate A File Checksum Value With MD5 Algorithm In Java


0 comments: