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: