For the latest news and information visit The GNU Crypto project

## gnu.crypto.util
Class Util

    java.lang.Object
      |
      +--gnu.crypto.util.Util

public class Util
extends java.lang.Object

A collection of utility methods used throughout this project.

Method Summary
`static java.lang.String` `byteToString(int n)` Returns a string of 2 hexadecimal digits (most significant digit first) corresponding to the lowest 8 bits of `n`.
`static java.lang.String` `dump(java.math.BigInteger x)` Returns a hexadecimal dump of the trimmed bytes of a `BigInteger`.
`static java.lang.String` `dumpString(byte[] data)`
`static java.lang.String` `dumpString(byte[] data, int offset, int length)`
`static java.lang.String` `dumpString(byte[] data, int offset, int length, java.lang.String m)` Dumps a byte array as a string, in a format that is easy to read for debugging.
`static java.lang.String` `dumpString(byte[] data, java.lang.String m)`
`static byte[]` `fromBase64(java.lang.String str)` The inverse function of the above.
`static int` `fromDigit(char c)` Returns a number from `0` to `15` corresponding to the designated hexadecimal digit.
`static java.lang.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).
`static byte[]` `toBytesFromString(java.lang.String s)` Returns a byte array from a string of hexadecimal digits.
`static byte[]` `toBytesFromUnicode(java.lang.String s)`
`static byte[]` `toReversedBytesFromString(java.lang.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 java.lang.String` `toReversedString(byte[] ba)` Returns a string of hexadecimal digits from a byte array.
`static java.lang.String` `toReversedString(byte[] ba, int offset, int length)` Returns a string of hexadecimal digits from a byte array, starting at `offset` and consisting of `length` bytes.
`static java.lang.String` `toString(byte[] ba)` Returns a string of hexadecimal digits from a byte array.
`static java.lang.String` `toString(byte[] ba, int offset, int length)` Returns a string of hexadecimal digits from a byte array, starting at `offset` and consisting of `length` bytes.
`static java.lang.String` `toString(int n)` Returns a string of 8 hexadecimal digits (most significant digit first) corresponding to the unsigned integer `n`.
`static java.lang.String` `toString(int[] ia)` Returns a string of hexadecimal digits from an integer array.
`static java.lang.String` `toString(long n)` Returns a string of 16 hexadecimal digits (most significant digit first) corresponding to the unsigned long `n`.
`static java.lang.String` `toUnicodeString(byte[] ba)` Similar to the `toString()` method except that the Unicode escape character is inserted before every pair of bytes.
`static java.lang.String` `toUnicodeString(byte[] ba, int offset, int length)` Similar to the `toString()` method except that the Unicode escape character is inserted before every pair of bytes.
`static java.lang.String` `toUnicodeString(int[] ia)` Similar to the `toString()` method except that the Unicode escape character is inserted before every pair of bytes.
`static byte[]` `trim(java.math.BigInteger n)` Treats the input as the MSB representation of a number, and discards leading zero elements.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### toString

    public static java.lang.String toString(byte[] ba)

  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.

### toString

    public static final java.lang.String toString(byte[] ba,
                                                  int offset,
                                                  int length)

  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.

### toReversedString

    public static java.lang.String toReversedString(byte[] ba)

  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.

### toReversedString

    public static final java.lang.String toReversedString(byte[] ba,
                                                          int offset,
                                                          int length)

  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.

### toBytesFromString

    public static byte[] toBytesFromString(java.lang.String s)

  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.

### toReversedBytesFromString

    public static byte[] toReversedBytesFromString(java.lang.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.

  Parameters:
    `s` - a string of hexadecimal ASCII characters
  Returns:
    the decoded byte array from the input hexadecimal string.

### fromDigit

    public static int fromDigit(char c)

  Returns a number from `0` to `15` corresponding to the designated hexadecimal digit.

  Parameters:
    `c` - a hexadecimal ASCII symbol.

### toString

    public static java.lang.String toString(int n)

  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.

### toString

    public static java.lang.String toString(int[] ia)

  Returns a string of hexadecimal digits from an integer array. Each int is converted to 4 hex symbols.

### toString

    public static java.lang.String toString(long n)

  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.

### toUnicodeString

    public static java.lang.String toUnicodeString(byte[] ba)

  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:
    `java.lang.ArrayIndexOutOfBoundsException` - if the length is odd.

### toUnicodeString

    public static final java.lang.String toUnicodeString(byte[] ba,
                                                         int offset,
                                                         int length)

  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:
    `java.lang.ArrayIndexOutOfBoundsException` - if the length is odd.

### toUnicodeString

    public static java.lang.String toUnicodeString(int[] ia)

  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:
    `java.lang.ArrayIndexOutOfBoundsException` - if the length is not a multiple of 4.

### toBytesFromUnicode

    public static byte[] toBytesFromUnicode(java.lang.String s)

### dumpString

    public static java.lang.String dumpString(byte[] data,
                                              int offset,
                                              int length,
                                              java.lang.String m)

  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.

### dumpString

    public static java.lang.String dumpString(byte[] data)

### dumpString

    public static java.lang.String dumpString(byte[] data,
                                              java.lang.String m)

### dumpString

    public static java.lang.String dumpString(byte[] data,
                                              int offset,
                                              int length)

### byteToString

    public static java.lang.String byteToString(int n)

  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.

### toBase64

    public static final java.lang.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.

  Parameters:
    `buffer` - an arbitrary sequence of bytes to represent in Base-64.
  Returns:
    unpadded (without the '=' character(s)) Base-64 representation of the input.

### fromBase64

    public static final byte[] fromBase64(java.lang.String str)

  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:
    `java.lang.NumberFormatException` - if `str` is `null`, or `str` contains an illegal Base-64 character.
  See Also:
    `toBase64(byte[])`

### trim

    public static final byte[] trim(java.math.BigInteger n)

  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.

### dump

    public static final java.lang.String dump(java.math.BigInteger x)

  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`.

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.