Package net.i2p.data
Class SessionKey
java.lang.Object
net.i2p.data.SimpleDataStructure
net.i2p.data.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 Summary
Fields Modifier and Type Field Description static SessionKeyINVALID_KEYA key with all zeroes in the datastatic intKEYSIZE_BYTES -
Constructor Summary
Constructors Constructor Description SessionKey()SessionKey(byte[] data) -
Method Summary
Modifier and Type Method Description ObjectgetPreparedKey()retrieve an internal representation of the session key, as known by the AES engine used.intlength()The legal length of the byte array in this data structurevoidsetData(byte[] data)Sets the data.voidsetPreparedKey(Object obj)Methods inherited from class net.i2p.data.SimpleDataStructure
calculateHash, equals, fromBase64, fromByteArray, getData, hashCode, read, readBytes, toBase64, toByteArray, toString, writeBytes
-
Field Details
-
KEYSIZE_BYTES
public static final int KEYSIZE_BYTES- See Also:
- Constant Field Values
-
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:SimpleDataStructureThe legal length of the byte array in this data structure- Specified by:
lengthin classSimpleDataStructure
-
setData
public void setData(byte[] data)Sets the data.- Overrides:
setDatain classSimpleDataStructure- 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
retrieve an internal representation of the session key, as known by the AES engine used. this can be reused safely -
setPreparedKey
-