package tap.db_testtools;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.security.MessageDigest;
public class MD5Checksum {
public static byte[] createChecksum(InputStream input) throws Exception{
byte[] buffer = new byte[1024];
MessageDigest complete = MessageDigest.getInstance("MD5");
int numRead;
do{
numRead = input.read(buffer);
if (numRead > 0){
complete.update(buffer, 0, numRead);
}
}while(numRead != -1);
return complete.digest();
}
// see this How-to for a faster way to convert
// a byte array to a HEX string
public static String getMD5Checksum(InputStream input) throws Exception{
byte[] b = createChecksum(input);
String result = "";
for(int i = 0; i < b.length; i++){
result += Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1);
}
return result;
}
public static String getMD5Checksum(final String content) throws Exception{
return getMD5Checksum(new ByteArrayInputStream(content.getBytes()));
}
public static void main(String args[]){
try{
System.out.println(getMD5Checksum("Blabla et Super blabla"));
}catch(Exception e){
e.printStackTrace();
}
}
}