import java.io.File;
import java.io.FileInputStream;
import java.security.MessageDigest;
import java.security.Security;

import de.flexiprovider.common.util.ByteUtils;
import de.flexiprovider.core.FlexiCoreProvider;

public class ExampleDigest {

    public static void main(String[] args) throws Exception {

	Security.addProvider(new FlexiCoreProvider());

	File file = new File("data.txt");
	byte[] buffer = new byte[(int) file.length()];
	FileInputStream fis = new FileInputStream(file);
	fis.read(buffer);
	fis.close();

	MessageDigest md = MessageDigest.getInstance("MD5", "FlexiCore");

	md.update(buffer);
	byte[] digest = md.digest();

	System.out.println("MD5 fingerprint: " + ByteUtils.toHexString(digest));
    }

}
