Package org.forgerock.util.encode
Class Hex
java.lang.Object
org.forgerock.util.encode.Hex
Routines for encoding and decoding binary data in hexadecimal format.
-
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]
Decodes a hexadecimal-encoded string into an equivalent byte array, treating each two-character sequence as a single byte in big-endian order.static byte[]
decodeStrict
(String hex) Decodes a hexadecimal-encoded string into an equivalent byte array, treating each two-character sequence as a single byte in big-endian order.static String
encode
(byte[] data) Encodes binary data into hexadecimal format.static String
encodeLowerCase
(byte[] data) Encodes binary data into hexadecimal format using lowercase characters for 'a' to 'f'.static String
encodeUpperCase
(byte[] data) Encodes binary data into hexadecimal format using uppercase characters for 'A' to 'F'.
-
Method Details
-
decode
Decodes a hexadecimal-encoded string into an equivalent byte array, treating each two-character sequence as a single byte in big-endian order. The input can use either uppercase or lowercase characters, or a combination of both. Any invalid characters in the input will be skipped. UsedecodeStrict(String)
if you want stricter decoding.- Parameters:
hex
- the input value in hexadecimal format.- Returns:
- the equivalent output bytes.
- Throws:
NullPointerException
- if the input is null.IllegalArgumentException
- if the input length, after stripping invalid characters, is not divisible by 2.
-
decodeStrict
Decodes a hexadecimal-encoded string into an equivalent byte array, treating each two-character sequence as a single byte in big-endian order. The input can use either uppercase or lowercase characters, or a combination of both. Any invalid characters in the input will result in anIllegalArgumentException
.- Parameters:
hex
- the input value in hexadecimal format.- Returns:
- the equivalent output bytes.
- Throws:
NullPointerException
- if the input is null.IllegalArgumentException
- if any non-hex characters occur in the input or the length is not divisible by two.
-
encodeUpperCase
Encodes binary data into hexadecimal format using uppercase characters for 'A' to 'F'.- Parameters:
data
- the data to encode.- Returns:
- the hexadecimal-encoded data.
- Throws:
NullPointerException
- if the input data is null.
-
encodeLowerCase
Encodes binary data into hexadecimal format using lowercase characters for 'a' to 'f'.- Parameters:
data
- the data to encode.- Returns:
- the hexadecimal-encoded data.
- Throws:
NullPointerException
- if the input data is null.
-
encode
Encodes binary data into hexadecimal format. This method is equivalent toencodeLowerCase(byte[])
.- Parameters:
data
- the data to encode.- Returns:
- the hexadecimal-encoded data.
- Throws:
NullPointerException
- if the input data is null.
-