Package net.i2p.data

Class SessionKey

All Implemented Interfaces:
DataStructure
Direct Known Subclasses:
SessionKeyAndNonce

public class SessionKey extends SimpleDataStructure
Defines the SessionKey as defined by the I2P data structure spec. A session key is a 32 byte Integer. To create one with random data, use I2PAppContext.keyGenerator().generateSessionKey().
Author:
jrandom
  • Field Details

    • KEYSIZE_BYTES

      public static final int KEYSIZE_BYTES
      See Also:
    • INVALID_KEY

      public static final SessionKey INVALID_KEY
      A key with all zeroes in the data
  • Constructor Details

    • SessionKey

      public SessionKey()
    • SessionKey

      public SessionKey(byte[] data)
  • Method Details

    • length

      public int length()
      Description copied from class: SimpleDataStructure
      The legal length of the byte array in this data structure
      Specified by:
      length in class SimpleDataStructure
    • setData

      public void setData(byte[] data)
      Sets the data.
      Overrides:
      setData in class SimpleDataStructure
      Parameters:
      data - 32 bytes, or null
      Throws:
      IllegalArgumentException - if data is not the legal number of bytes (but null is ok)
      RuntimeException - if data already set.
    • getPreparedKey

      public Object getPreparedKey()
      retrieve an internal representation of the session key, as known by the AES engine used. this can be reused safely
    • setPreparedKey

      public void setPreparedKey(Object obj)