sun.security.util
Class BigInt

java.lang.Object
  extended by sun.security.util.BigInt

public final class BigInt
extends Object

A low-overhead arbitrary-precision unsigned integer. This is intended for use with ASN.1 parsing, and printing of such parsed values. Convert to "BigInteger" if you need to do arbitrary precision arithmetic, rather than just represent the number as a wrapped array of bytes.

NOTE: This class may eventually disappear, to be supplanted by big-endian byte arrays which hold both signed and unsigned arbitrary-precision integers.


Constructor Summary
BigInt(BigInteger i)
          Constructs a "Big" integer from a "BigInteger", which must be positive (or zero) in value.
BigInt(byte[] data)
          Constructs a "Big" integer from a set of (big-endian) bytes.
BigInt(int i)
          Constructs a "Big" integer from a normal Java integer.
 
Method Summary
 boolean equals(BigInt other)
          Returns true iff the parameter is numerically equivalent.
 boolean equals(Object other)
          Returns true iff the parameter is a numerically equivalent BigInt.
 int hashCode()
          Returns a hashcode for this BigInt.
 BigInteger toBigInteger()
          Returns a BigInteger value which supports many arithmetic operations.
 byte[] toByteArray()
          Returns the data as a byte array.
 int toInt()
          Converts the "big" integer to a java primitive integer.
 String toString()
          Returns a hexadecimal printed representation.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BigInt

public BigInt(byte[] data)
Constructs a "Big" integer from a set of (big-endian) bytes. Leading zeroes should be stripped off.

Parameters:
data - a sequence of bytes, most significant bytes/digits first. CONSUMED.

BigInt

public BigInt(BigInteger i)
Constructs a "Big" integer from a "BigInteger", which must be positive (or zero) in value.


BigInt

public BigInt(int i)
Constructs a "Big" integer from a normal Java integer.

Parameters:
i - the java primitive integer
Method Detail

toInt

public int toInt()
Converts the "big" integer to a java primitive integer.


toString

public String toString()
Returns a hexadecimal printed representation. The value is formatted to fit on lines of at least 75 characters, with embedded newlines. Words are separated for readability, with eight words (32 bytes) per line.

Overrides:
toString in class Object
Returns:
a string representation of the object.

toBigInteger

public BigInteger toBigInteger()
Returns a BigInteger value which supports many arithmetic operations. Assumes negative values will never occur.


toByteArray

public byte[] toByteArray()
Returns the data as a byte array. The most significant bit of the array is bit zero (as in java.math.BigInteger).


equals

public boolean equals(Object other)
Returns true iff the parameter is a numerically equivalent BigInt.

Overrides:
equals in class Object
Parameters:
other - the object being compared with this one.
Returns:
true if this object is the same as the obj argument; false otherwise.
See Also:
Object.hashCode(), Hashtable

equals

public boolean equals(BigInt other)
Returns true iff the parameter is numerically equivalent.

Parameters:
other - the BigInt being compared with this one.

hashCode

public int hashCode()
Returns a hashcode for this BigInt.

Overrides:
hashCode in class Object
Returns:
a hashcode for this BigInt.
See Also:
Object.equals(java.lang.Object), Hashtable