Interface Decrypter<DEC,ENC,EXC extends DecryptionException>

Type Parameters:
ENC - The type of the encrypted data.
DEC - The type of the decrypted data.
EXC - The specific type of the DecryptionException being thrown.
All Superinterfaces:
org.refcodes.mixin.Disposable
All Known Subinterfaces:
Crypter<ENC,DEC,ENCEXC,DECEXC>

public interface Decrypter<DEC,ENC,EXC extends DecryptionException> extends org.refcodes.mixin.Disposable
Plain interface for providing straight forward decryption functionality as of toDecrypted(Object) and for forcing your plain functionality to provide a bridge to the Java Cryptographic Extension (JCE) framework's CipherSpi as of toDecrypted(byte[], int, int, byte[], int). This way you can use your algorithms outside the JCE framework. This may be necessary when your Java's security settings prevent running your own JCE extensions from inside an (Oracle-) unsigned JAR.
  • Method Summary

    Modifier and Type
    Method
    Description
    default int
    decrypt(byte[] aBuffer)
    This method decrypts the provided buffer.
    default int
    decrypt(byte[] aBuffer, int aOffset, int aLength)
    This method decrypts the provided buffer beginning at the given offset and the given number of bytes.
    int
    toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset)
    For compatibility with the java.security framework, especially to be integrated in a sub-class of the CipherSpi.
    toDecrypted(ENC aInput)
    You pass in data of a given type and you get decrypted data of (another) given type.

    Methods inherited from interface org.refcodes.mixin.Disposable

    dispose
  • Method Details

    • toDecrypted

      DEC toDecrypted(ENC aInput) throws EXC
      You pass in data of a given type and you get decrypted data of (another) given type.
      Parameters:
      aInput - The input data to be decrypted.
      Returns:
      The decrypted output data.
      Throws:
      EXC - Thrown in case something went wrong upon decryption.
    • toDecrypted

      int toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset) throws DecryptionException
      For compatibility with the java.security framework, especially to be integrated in a sub-class of the CipherSpi.
      Parameters:
      aBuffer - The input to be decrypted.
      aOffset - The offset to start decryption.
      aLength - The length to be decrypted
      aOutBuffer - The output where to decrypt to.
      aOutOffset - The offset where to start writing the decrypted output.
      Returns:
      The number of bytes decrypted.
      Throws:
      DecryptionException - Thrown in case a decryption issue occurred regarding the Decrypter. Probably the configuration of your Encrypter does not fit the one of the Decrypter.
      ArrayIndexOutOfBoundsException - In case you provided lengths and offsets not fitting with the provided arrays.
    • decrypt

      default int decrypt(byte[] aBuffer, int aOffset, int aLength) throws DecryptionException
      This method decrypts the provided buffer beginning at the given offset and the given number of bytes.
      Parameters:
      aBuffer - The input to be decrypted.
      aOffset - The offset to start decryption.
      aLength - The length to be decrypted
      Returns:
      The number of bytes decrypted.
      Throws:
      DecryptionException - Thrown in case a decryption issue occurred regarding the Decrypter. Probably the configuration of your Encrypter does not fit the one of the Decrypter.
      ArrayIndexOutOfBoundsException - In case you provided lengths and offsets not fitting with the provided arrays.
    • decrypt

      default int decrypt(byte[] aBuffer) throws DecryptionException
      This method decrypts the provided buffer.
      Parameters:
      aBuffer - The input to be decrypted.
      Returns:
      The number of bytes decrypted.
      Throws:
      DecryptionException - Thrown in case a decryption issue occurred regarding the Decrypter. Probably the configuration of your Encrypter does not fit the one of the Decrypter.
      ArrayIndexOutOfBoundsException - In case you provided lengths and offsets not fitting with the provided arrays.