package im.actor.runtime.android.crypto;
import java.security.DigestException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import im.actor.runtime.crypto.Digest;
public class AndroidSHA256 implements Digest {
private MessageDigest messageDigest;
public AndroidSHA256() {
try {
messageDigest = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e1) {
throw new RuntimeException(e1);// Unexpected
}
}
@Override
public void reset() {
messageDigest.reset();
}
@Override
public void update(byte[] src, int offset, int length) {
messageDigest.update(src, offset, length);
}
@Override
public void doFinal(byte[] dest, int destOffset) {
try {
messageDigest.digest(dest, destOffset, 32);
} catch (DigestException e) {
throw new RuntimeException(e);// Unexpected
}
}
@Override
public int getDigestSize() {
return 32;
}
}