For the latest news and information visit
The GNU Crypto project

gnu.crypto.util
Class Util

java.lang.Object
  extended bygnu.crypto.util.Util

public class Util
extends java.lang.Object

A collection of utility methods used throughout this project.

Version:
$Revision: 1.2 $

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 '.'
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 Free Software Foundation, Inc. All Rights Reserved.