- 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>
TheChaosDecrypter
will use byte arrays as input and output types.
-
-
Constructor Summary
Constructors Modifier Constructor Description ChaosDecrypter(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
byte[]
toDecrypted(byte[] aEncrypted)
int
toDecrypted(byte[] aBuffer, int aOffset, int aLength, byte[] aOutBuffer, int aOutOffset)
String
toString()
-
-
-
Constructor Detail
-
ChaosDecrypter
public ChaosDecrypter(ChaosKey aKey)
Instantiates a newChaosDecrypter
using the givenChaosKey
for decrypting.- Parameters:
aKey
- TheChaosKey
to use for decrypting.
-
ChaosDecrypter
public ChaosDecrypter(ChaosKey aKey, int aChildDepth)
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 Detail
-
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
-
-