switch to faster, documented algorithm for Utils.toHexString()
This is covered already by tests of Utils.getBinaryHash().
This commit is contained in:
parent
ca577dc65a
commit
f3974898af
@ -59,7 +59,6 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.math.BigInteger;
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
@ -528,12 +527,20 @@ public final class Utils {
|
|||||||
*
|
*
|
||||||
* @param bytes an array of bytes.
|
* @param bytes an array of bytes.
|
||||||
* @return the bytes represented as a string of hexadecimal digits.
|
* @return the bytes represented as a string of hexadecimal digits.
|
||||||
|
* @see <a href="https://stackoverflow.com/a/9855338">source</a>
|
||||||
*/
|
*/
|
||||||
private static String toHexString(byte[] bytes) {
|
public static String toHexString(byte[] bytes) {
|
||||||
BigInteger bi = new BigInteger(1, bytes);
|
char[] hexChars = new char[bytes.length * 2];
|
||||||
return String.format("%0" + (bytes.length << 1) + "X", bi);
|
for (int j = 0; j < bytes.length; j++) {
|
||||||
|
int v = bytes[j] & 0xFF;
|
||||||
|
hexChars[j * 2] = HEX_LOOKUP_ARRAY[v >>> 4];
|
||||||
|
hexChars[j * 2 + 1] = HEX_LOOKUP_ARRAY[v & 0x0F];
|
||||||
|
}
|
||||||
|
return new String(hexChars);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final char[] HEX_LOOKUP_ARRAY = "0123456789ABCDEF".toCharArray();
|
||||||
|
|
||||||
public static int parseInt(String str, int fallback) {
|
public static int parseInt(String str, int fallback) {
|
||||||
if (str == null || str.length() == 0) {
|
if (str == null || str.length() == 0) {
|
||||||
return fallback;
|
return fallback;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user