Class AESEncryption
java.lang.Object
org.geysermc.mcprotocollib.network.crypt.AESEncryption
- All Implemented Interfaces:
PacketEncryption
An encryption implementation using "AES/CFB8/NoPadding" encryption.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdecrypt(byte[] input, int inputOffset, int inputLength, byte[] output, int outputOffset) Decrypts the given data.intencrypt(byte[] input, int inputOffset, int inputLength, byte[] output, int outputOffset) Encrypts the given data.intgetDecryptOutputSize(int length) Gets the output size from decrypting.intgetEncryptOutputSize(int length) Gets the output size from encrypting.
-
Constructor Details
-
AESEncryption
Creates a new AESEncryption instance.- Parameters:
key- Key to use when encrypting/decrypting data.- Throws:
GeneralSecurityException- If a security error occurs.
-
-
Method Details
-
getDecryptOutputSize
public int getDecryptOutputSize(int length) Description copied from interface:PacketEncryptionGets the output size from decrypting.- Specified by:
getDecryptOutputSizein interfacePacketEncryption- Parameters:
length- Length of the data being decrypted.- Returns:
- The output size from decrypting.
-
getEncryptOutputSize
public int getEncryptOutputSize(int length) Description copied from interface:PacketEncryptionGets the output size from encrypting.- Specified by:
getEncryptOutputSizein interfacePacketEncryption- Parameters:
length- Length of the data being encrypted.- Returns:
- The output size from encrypting.
-
decrypt
public int decrypt(byte[] input, int inputOffset, int inputLength, byte[] output, int outputOffset) throws Exception Description copied from interface:PacketEncryptionDecrypts the given data.- Specified by:
decryptin interfacePacketEncryption- Parameters:
input- Input data to decrypt.inputOffset- Offset of the data to start decrypting at.inputLength- Length of the data to be decrypted.output- Array to output decrypted data to.outputOffset- Offset of the output array to start at.- Returns:
- The number of bytes stored in the output array.
- Throws:
Exception- If an error occurs.
-
encrypt
public int encrypt(byte[] input, int inputOffset, int inputLength, byte[] output, int outputOffset) throws Exception Description copied from interface:PacketEncryptionEncrypts the given data.- Specified by:
encryptin interfacePacketEncryption- Parameters:
input- Input data to encrypt.inputOffset- Offset of the data to start encrypting at.inputLength- Length of the data to be encrypted.output- Array to output encrypted data to.outputOffset- Offset of the output array to start at.- Returns:
- The number of bytes stored in the output array.
- Throws:
Exception- If an error occurs.
-