package org.jcodec.common.tools; import java.lang.StringBuilder; import java.nio.ByteBuffer; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * This class is part of JCodec ( www.jcodec.org ) * This software is distributed under FreeBSD License * * @author The JCodec project * */ public class MD5 { public static String md5sumBytes(byte[] bytes) { MessageDigest md5 = getDigest(); md5.update(bytes); return digestToString(md5.digest()); } private static String digestToString(byte[] digest) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < digest.length; i++) { byte item = digest[i]; int b = item & 0xFF; if (b < 0x10) sb.append('0'); sb.append(Integer.toHexString(b)); } return sb.toString(); } public static String md5sum(ByteBuffer bytes) { MessageDigest md5 = getDigest(); md5.update(bytes); byte[] digest = md5.digest(); return digestToString(digest); } public static MessageDigest getDigest() { MessageDigest md5; try { md5 = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } return md5; } }