package com.undatech.opaque.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SslUtils {
public static String signature(String algorithm, byte[] data) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance(algorithm);
return SslUtils.toHexString(digest.digest(data)).trim();
}
/**
* Converts a given sequence of bytes to a human-readable colon-separated Hex format.
* @param bytes
* @return
*/
public static String toHexString(byte[] bytes) {
char[] hexArray = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] hexChars = new char[bytes.length * 3];
int v, j;
for ( j = 0; j < bytes.length - 1; j++ ) {
v = bytes[j] & 0xFF;
hexChars[j*3] = hexArray[v/16];
hexChars[j*3 + 1] = hexArray[v%16];
hexChars[j*3 + 2] = ":".charAt(0);
}
v = bytes[j] & 0xFF;
hexChars[j*3] = hexArray[v/16];
hexChars[j*3 + 1] = hexArray[v%16];
return new String(hexChars);
}
}