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.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.refcodes.mixin.Disposable

        org.refcodes.mixin.Disposable.Disposedable
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      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.
      DEC 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 Detail

      • toDecrypted

        DEC toDecrypted​(ENC aInput)
                 throws EXC extends DecryptionException
        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.
        EXC extends DecryptionException
      • 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.