java.lang.Object
org.refcodes.security.alt.chaos.ChaosDecrypter
- All Implemented Interfaces:
org.refcodes.mixin.Disposable
,org.refcodes.security.Decrypter<byte[],
byte[], org.refcodes.security.DecryptionException>
public class ChaosDecrypter
extends Object
implements org.refcodes.security.Decrypter<byte[],byte[],org.refcodes.security.DecryptionException>
The
ChaosDecrypter
will use byte arrays as input and output types.-
Constructor Summary
ModifierConstructorDescriptionChaosDecrypter
(ChaosKey aKey) Instantiates a newChaosDecrypter
using the givenChaosKey
for decrypting.ChaosDecrypter
(ChaosKey aKey, int aChildDepth) Instantiates a newChaosDecrypter
using the givenChaosKey
for decrypting.protected
ChaosDecrypter
(ChaosKey aKey, int aChildDepth, ChaosDecrypter aChildDecrypter) Instantiates a newChaosDecrypter
using the givenChaosKey
for encrypting and the givenChaosDecrypter
as _child encrypter: TTheChaosKey
must therefore have no childChaosKey
as the childChaosDecrypter
then cannot unambiguously be determined! -
Method Summary
Modifier and TypeMethodDescriptionvoid
dispose()
byte[]
toDecrypted
(byte[] aEncrypted) int
toDecrypted
(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset) toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.refcodes.security.Decrypter
decrypt, decrypt
-
Constructor Details
-
ChaosDecrypter
Instantiates a newChaosDecrypter
using the givenChaosKey
for decrypting.- Parameters:
aKey
- TheChaosKey
to use for decrypting.
-
ChaosDecrypter
Instantiates a newChaosDecrypter
using the givenChaosKey
for decrypting.- Parameters:
aKey
- TheChaosKey
to use for decrypting.aChildDepth
- The number of children to consider when creating theChaosDecrypter
.
-
ChaosDecrypter
protected ChaosDecrypter(ChaosKey aKey, int aChildDepth, ChaosDecrypter aChildDecrypter) throws IllegalArgumentException Instantiates a newChaosDecrypter
using the givenChaosKey
for encrypting and the givenChaosDecrypter
as _child encrypter: TTheChaosKey
must therefore have no childChaosKey
as the childChaosDecrypter
then cannot unambiguously be determined! Attention: This constructor usually only is used by libraries which retrieve the various keys in different processing steps (seeChaosDecryptionInputStream
).- Parameters:
aKey
- TheChaosKey
to use for decrypting.aChildDepth
- The number of children to consider when creating theChaosDecrypter
.aChildDecrypter
- The childChaosDecrypter
to be used as child decrypter.- Throws:
IllegalArgumentException
- thrown in case the chaos key has a child key and a child decrypter is provided as well (either the one or the other only is allowed).
-
-
Method Details
-
toDecrypted
public byte[] toDecrypted(byte[] aEncrypted) throws org.refcodes.security.DecryptionException - Specified by:
toDecrypted
in interfaceorg.refcodes.security.Decrypter<byte[],
byte[], org.refcodes.security.DecryptionException> - Throws:
org.refcodes.security.DecryptionException
-
toDecrypted
public int toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset) throws org.refcodes.security.DecryptionException - Specified by:
toDecrypted
in interfaceorg.refcodes.security.Decrypter<byte[],
byte[], org.refcodes.security.DecryptionException> - Throws:
org.refcodes.security.DecryptionException
-
dispose
public void dispose()- Specified by:
dispose
in interfaceorg.refcodes.mixin.Disposable
-
toString
-