in src/main/java/org/apache/commons/crypto/cipher/OpenSslNative.java [61:160]
public static native int doFinal(long context, ByteBuffer output,
int offset, int maxOutputLength);
/**
* Finishes a multiple-part operation. The data is encrypted or decrypted,
* depending on how this cipher was initialized.
*
* @param context The cipher context address
* @param output The byte array for the result
* @param offset The offset in output where the result is stored
* @param maxOutputLength The maximum length for output
* @return The number of bytes stored in output
*/
public static native int doFinalByteArray(long context, byte[] output,
int offset, int maxOutputLength);
/**
* Declares a native method to initialize the cipher context.
*
* @param context The cipher context address
* @param mode ENCRYPT_MODE or DECRYPT_MODE
* @param alg Algorithm Mode of OpenSsl
* @param padding the padding mode of OpenSsl cipher
* @param key crypto key
* @param iv crypto iv
* @return the context address of cipher
*/
public static native long init(long context, int mode, int alg,
int padding, byte[] key, byte[] iv);
/**
* Declares a native method to initialize the cipher context.
*
* @param algorithm The algorithm name of cipher
* @param padding The padding name of cipher
* @return the context address of cipher
*/
public static native long initContext(int algorithm, int padding);
/**
* Declares a native method to initialize JNI field and method IDs.
*/
public static native void initIDs();
/**
* Continues a multiple-part encryption/decryption operation. The data is
* encrypted or decrypted, depending on how this cipher was initialized.
*
* @param context The cipher context address
* @param input The input byte buffer
* @param inputOffset The offset in input where the input starts
* @param inputLength The input length
* @param output The byte buffer for the result
* @param outputOffset The offset in output where the result is stored
* @param maxOutputLength The maximum length for output
* @return The number of bytes stored in output
*/
public static native int update(long context, ByteBuffer input,
int inputOffset, int inputLength, ByteBuffer output,
int outputOffset, int maxOutputLength);
/**
* Continues a multiple-part encryption/decryption operation. The data is
* encrypted or decrypted, depending on how this cipher was initialized.
*
* @param context The cipher context address
* @param input The input byte array
* @param inputOffset The offset in input where the input starts
* @param inputLength The input length
* @param output The byte array for the result
* @param outputOffset The offset in output where the result is stored
* @param maxOutputLength The maximum length for output
* @return The number of bytes stored in output
*/
public static native int updateByteArray(long context, byte[] input,
int inputOffset, int inputLength, byte[] output, int outputOffset,
int maxOutputLength);
/**
* Continues a multiple-part encryption/decryption operation. The data is
* encrypted or decrypted, depending on how this cipher was initialized.
*
* @param context The cipher context address
* @param input The input byte array
* @param inputOffset The offset in input where the input starts
* @param inputLength The input length
* @param output The byte buffer for the result
* @param outputOffset The offset in output where the result is stored
* @param maxOutputLength The maximum length for output
* @return The number of bytes stored in output
*/
public static native int updateByteArrayByteBuffer(long context, byte[] input,
int inputOffset, int inputLength,
ByteBuffer output, int outputOffset, int maxOutputLength);
/**
* Hides this constructor from external access.
*/
private OpenSslNative() {
}