package org.genedb.util; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { public static String getMD5(String input) { MessageDigest md = null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { // Should never happen } md.update(input.getBytes(), 0, input.length()); return new BigInteger(1, md.digest()).toString(16); } public static String getMD5(byte[] bytes) { MessageDigest md = null; try { md = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { // Should never happen } md.update(bytes, 0, bytes.length); return new BigInteger(1, md.digest()).toString(16); } public static String getPathBasedOnMD5(String in, char seperator) { String md5 = getMD5(in); return String.format("%s%c%s%c%s", md5.substring(0, 2), seperator, md5.substring(2, 4), seperator, in); } }