package org.openstack.atlas.util.crypto;
import org.openstack.atlas.util.converters.BitConverters;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
public class HashUtil {
public static byte[] sha1sum(byte[] data, Integer startIdxInc, Integer stopIdxExc)
throws NoSuchAlgorithmException {
byte[] out;
MessageDigest md;
md = MessageDigest.getInstance("SHA-1");
out = md.digest(data);
if (startIdxInc != null && stopIdxExc != null) {
out = Arrays.copyOfRange(out, startIdxInc, stopIdxExc);
}
return out;
}
public static byte[] sha1sum(byte[] data) throws NoSuchAlgorithmException {
return sha1sum(data, null, null);
}
public static String sha1sumHex(byte[] data, Integer startIdxInc, Integer stopIdxExc) throws NoSuchAlgorithmException {
String out;
byte[] sum;
sum = sha1sum(data, startIdxInc, stopIdxExc);
out = BitConverters.bytes2hex(sum);
return out;
}
public static String sha1sumHex(byte[] data) throws NoSuchAlgorithmException {
return sha1sumHex(data, null, null);
}
}