## net.i2p.data
Class PublicKey

    java.lang.Object
      net.i2p.data.DataStructureImpl
          net.i2p.data.PublicKey

All Implemented Interfaces:
  DataStructure

public class PublicKey
extends DataStructureImpl

Defines the PublicKey as defined by the I2P data structure spec. A public key is 256byte Integer. The public key represents only the exponent, not the primes, which are constant and defined in the crypto spec.

Author:
  jrandom

Field Summary
`static int` `KEYSIZE_BYTES`

Constructor Summary
`PublicKey()`
`PublicKey(java.lang.String base64Data)` constructs from base64

Method Summary
`boolean` `equals(java.lang.Object obj)`
`byte[]` `getData()`
`int` `hashCode()`
`void` `readBytes(java.io.InputStream in)` Load up the current object with data from the given stream.
`void` `setData(byte[] data)`
`java.lang.String` `toString()`
`void` `writeBytes(java.io.OutputStream out)` Write out the data structure to the stream, using the format defined in the I2P data structure specification.

Methods inherited from class net.i2p.data.DataStructureImpl
`calculateHash, fromBase64, fromByteArray, read, toBase64, toByteArray`

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

Field Detail

### KEYSIZE_BYTES

    public static final int KEYSIZE_BYTES

See Also:
  Constant Field Values

Constructor Detail

### PublicKey

    public PublicKey()

### PublicKey

    public PublicKey(java.lang.String base64Data)
              throws DataFormatException

  constructs from base64

Parameters:
  `base64Data` - a string of base64 data (the output of .toBase64() called on a prior instance of PublicKey

Method Detail

### getData

    public byte[] getData()

### setData

    public void setData(byte[] data)

### readBytes

    public void readBytes(java.io.InputStream in)
                   throws DataFormatException,
                          java.io.IOException

  Description copied from interface: `DataStructure`
  Load up the current object with data from the given stream. Data loaded this way must match the I2P data structure specification.

  Parameters:
    `in` - stream to read from
  Throws:
    `java.io.IOException` - if there was a problem reading the stream
    `DataFormatException` - if the data is improperly formatted

### writeBytes

    public void writeBytes(java.io.OutputStream out)
                    throws DataFormatException,
                           java.io.IOException

  Description copied from interface: `DataStructure`
  Write out the data structure to the stream, using the format defined in the I2P data structure specification.

  Parameters:
    `out` - stream to write to
  Throws:
    `java.io.IOException` - if there was a problem writing to the stream
    `DataFormatException` - if the data was incomplete or not yet ready to be written

### equals

    public boolean equals(java.lang.Object obj)

### hashCode

    public int hashCode()

### toString

    public java.lang.String toString()