gnu.crypto.util
public class Util extends Object
A collection of utility methods used throughout this project.
Version: $Revision: 1.11 $
Method Summary | |
---|---|
static String | byteToString(int n) Returns a string of 2 hexadecimal digits (most significant digit first)
corresponding to the lowest 8 bits of |
static String | dump(BigInteger x) Returns a hexadecimal dump of the trimmed bytes of a BigInteger. |
static String | dumpString(byte[] data, int offset, int length, String m) Dumps a byte array as a string, in a format that is easy to read for debugging. |
static String | dumpString(byte[] data) |
static String | dumpString(byte[] data, String m) |
static String | dumpString(byte[] data, int offset, int length) |
static byte[] | fromBase64(String str) The inverse function of the above. Converts a string representing the encoding of some bytes in Base-64 to their original form. |
static int | fromDigit(char c) Returns a number from |
static String | toBase64(byte[] buffer) Converts a designated byte array to a Base-64 representation, with the exceptions that (a) leading 0-byte(s) are ignored, and (b) the character '.' (dot) shall be used instead of "+' (plus). Used by SASL password file manipulation primitives. |
static byte[] | toBytesFromString(String s) Returns a byte array from a string of hexadecimal digits. |
static byte[] | toBytesFromUnicode(String s) |
static byte[] | toReversedBytesFromString(String s) Returns a byte array from a string of hexadecimal digits, interpreting them as a large big-endian integer and returning it as a large little-endian integer. |
static String | toReversedString(byte[] ba) Returns a string of hexadecimal digits from a byte array. |
static String | toReversedString(byte[] ba, int offset, int length) Returns a string of hexadecimal digits from a byte array, starting at
|
static String | toString(byte[] ba) Returns a string of hexadecimal digits from a byte array. |
static String | toString(byte[] ba, int offset, int length) Returns a string of hexadecimal digits from a byte array, starting at
|
static String | toString(int n) Returns a string of 8 hexadecimal digits (most significant digit first)
corresponding to the unsigned integer |
static String | toString(int[] ia) Returns a string of hexadecimal digits from an integer array. |
static String | toString(long n) Returns a string of 16 hexadecimal digits (most significant digit first)
corresponding to the unsigned long |
static String | toUnicodeString(byte[] ba) Similar to the |
static String | toUnicodeString(byte[] ba, int offset, int length) Similar to the |
static String | toUnicodeString(int[] ia) Similar to the |
static byte[] | trim(BigInteger n) Treats the input as the MSB representation of a number, and discards leading zero elements. |
Returns a string of 2 hexadecimal digits (most significant digit first)
corresponding to the lowest 8 bits of n
.
Parameters: n the byte value to convert.
Returns: a string of 2 hex characters representing the input.
Returns a hexadecimal dump of the trimmed bytes of a BigInteger.
Parameters: x the BigInteger to display.
Returns: the string representation of the designated BigInteger.
Dumps a byte array as a string, in a format that is easy to read for
debugging. The string m
is prepended to the start of each
line.
If offset
and length
are omitted, the whole
array is used. If m
is omitted, nothing is prepended to each
line.
Parameters: data the byte array to be dumped. offset the offset within data to start from. length the number of bytes to dump. m a string to be prepended to each line.
Returns: a string containing the result.
The inverse function of the above.
Converts a string representing the encoding of some bytes in Base-64 to their original form.
Parameters: str the Base-64 encoded representation of some byte(s).
Returns: the bytes represented by the str
.
Throws: NumberFormatException if str
is null
, or
str
contains an illegal Base-64 character.
See Also: (byte[])
Returns a number from 0
to 15
corresponding
to the designated hexadecimal digit.
Parameters: c a hexadecimal ASCII symbol.
Converts a designated byte array to a Base-64 representation, with the exceptions that (a) leading 0-byte(s) are ignored, and (b) the character '.' (dot) shall be used instead of "+' (plus).
Used by SASL password file manipulation primitives.
Parameters: buffer an arbitrary sequence of bytes to represent in Base-64.
Returns: unpadded (without the '=' character(s)) Base-64 representation of the input.
Returns a byte array from a string of hexadecimal digits.
Parameters: s a string of hexadecimal ASCII characters
Returns: the decoded byte array from the input hexadecimal string.
Returns a byte array from a string of hexadecimal digits, interpreting them as a large big-endian integer and returning it as a large little-endian integer.
Parameters: s a string of hexadecimal ASCII characters
Returns: the decoded byte array from the input hexadecimal string.
Returns a string of hexadecimal digits from a byte array. Each byte is converted to 2 hex symbols; zero(es) included. The argument is treated as a large little-endian integer and is returned as a large big-endian integer.
This method calls the method with same name and three arguments as:
toReversedString(ba, 0, ba.length);
Parameters: ba the byte array to convert.
Returns: a string of hexadecimal characters (two for each byte) representing the designated input byte array.
Returns a string of hexadecimal digits from a byte array, starting at
offset
and consisting of length
bytes. Each byte
is converted to 2 hex symbols; zero(es) included.
The byte array is treated as a large little-endian integer, and is returned as a large big-endian integer.
Parameters: ba the byte array to convert. offset the index from which to start considering the bytes to convert. length the count of bytes, starting from the designated offset to convert.
Returns: a string of hexadecimal characters (two for each byte) representing the designated input byte sub-array.
Returns a string of hexadecimal digits from a byte array. Each byte is converted to 2 hex symbols; zero(es) included.
This method calls the method with same name and three arguments as:
toString(ba, 0, ba.length);
Parameters: ba the byte array to convert.
Returns: a string of hexadecimal characters (two for each byte) representing the designated input byte array.
Returns a string of hexadecimal digits from a byte array, starting at
offset
and consisting of length
bytes. Each byte
is converted to 2 hex symbols; zero(es) included.
Parameters: ba the byte array to convert. offset the index from which to start considering the bytes to convert. length the count of bytes, starting from the designated offset to convert.
Returns: a string of hexadecimal characters (two for each byte) representing the designated input byte sub-array.
Returns a string of 8 hexadecimal digits (most significant digit first)
corresponding to the unsigned integer n
.
Parameters: n the unsigned integer to convert.
Returns: a hexadecimal string 8-character long.
Returns a string of hexadecimal digits from an integer array. Each int is converted to 4 hex symbols.
Returns a string of 16 hexadecimal digits (most significant digit first)
corresponding to the unsigned long n
.
Parameters: n the unsigned long to convert.
Returns: a hexadecimal string 16-character long.
Similar to the toString()
method except that the Unicode
escape character is inserted before every pair of bytes. Useful to
externalise byte arrays that will be constructed later from such strings;
eg. s-box values.
Throws: ArrayIndexOutOfBoundsException if the length is odd.
Similar to the toString()
method except that the Unicode
escape character is inserted before every pair of bytes. Useful to
externalise byte arrays that will be constructed later from such strings;
eg. s-box values.
Throws: ArrayIndexOutOfBoundsException if the length is odd.
Similar to the toString()
method except that the Unicode
escape character is inserted before every pair of bytes. Useful to
externalise integer arrays that will be constructed later from such
strings; eg. s-box values.
Throws: ArrayIndexOutOfBoundsException if the length is not a multiple of 4.
Treats the input as the MSB representation of a number, and discards leading zero elements. For efficiency, the input is simply returned if no leading zeroes are found.
Parameters: n the BigInteger to trim.
Returns: the byte array representation of the designated BigInteger with no leading 0-bytes.