package im.actor.crypto.primitives.digest;
import im.actor.crypto.primitives.Digest;
public class DigestWrapper implements Digest {
private Digest baseDigest;
public DigestWrapper(Digest baseDigest) {
this.baseDigest = baseDigest;
}
@Override
public void reset() {
baseDigest.reset();
}
@Override
public void update(byte[] src, int offset, int length) {
baseDigest.update(src, offset, length);
}
@Override
public void doFinal(byte[] dest, int destOffset) {
baseDigest.doFinal(dest, destOffset);
}
public byte[] digest(byte[] src) {
return digest(src, 0, src.length);
}
public byte[] digest(byte[] src, int offset, int length) {
baseDigest.reset();
baseDigest.update(src, offset, length);
byte[] res = new byte[getDigestSize()];
baseDigest.doFinal(res, 0);
return res;
}
@Override
public int getDigestSize() {
return baseDigest.getDigestSize();
}
}