package com.koushikdutta.async.test;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import com.koushikdutta.async.ByteBufferList;
public class Md5 {
private MessageDigest digest;
public static Md5 createInstance() throws NoSuchAlgorithmException {
Md5 md5 = new Md5();
md5.digest = MessageDigest.getInstance("MD5");
return md5;
}
private Md5() {
}
public void update(ByteBufferList bb) {
for (ByteBuffer b: bb)
digest.update(b);
}
public String digest() {
String hash = new BigInteger(digest.digest()).toString(16);
return hash;
}
}