Interface Decryptor
- All Known Implementing Classes:
JceCtrCryptoCodec.JceCtrCipher,OpensslCtrCryptoCodec.OpensslCtrCipher
-
Method Summary
Modifier and TypeMethodDescriptionvoiddecrypt(ByteBuffer inBuffer, ByteBuffer outBuffer) This presents a direct interface decrypting with direct ByteBuffers.voidinit(byte[] key, byte[] iv) Initialize the decryptor and the internal decryption context.booleanIndicate whether the decryption context is reset.
-
Method Details
-
init
Initialize the decryptor and the internal decryption context. reset.- Parameters:
key- decryption key.iv- decryption initialization vector- Throws:
IOException- if initialization fails
-
isContextReset
boolean isContextReset()Indicate whether the decryption context is reset.Certain modes, like CTR, require a different IV depending on the position in the stream. Generally, the decryptor maintains any necessary context for calculating the IV and counter so that no reinit is necessary during the decryption. Reinit before each operation is inefficient.
- Returns:
- boolean whether context is reset.
-
decrypt
This presents a direct interface decrypting with direct ByteBuffers.This function does not always decrypt the entire buffer and may potentially need to be called multiple times to process an entire buffer. The object may hold the decryption context internally.
Some implementations may require sufficient space in the destination buffer to decrypt the entire input buffer.
Upon return, inBuffer.position() will be advanced by the number of bytes read and outBuffer.position() by bytes written. Implementations should not modify inBuffer.limit() and outBuffer.limit().
- Parameters:
inBuffer- a directByteBufferto read from. inBuffer may not be null and inBuffer.remaining() must be > 0outBuffer- a directByteBufferto write to. outBuffer may not be null and outBuffer.remaining() must be > 0- Throws:
IOException- if decryption fails
-