Class RC4Cipher
- java.lang.Object
-
- org.apache.pdfbox.pdmodel.encryption.RC4Cipher
-
class RC4Cipher extends java.lang.ObjectAn implementation of the RC4 stream cipher.
-
-
Constructor Summary
Constructors Constructor Description RC4Cipher()Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private intencrypt(byte aByte)private static intfixByte(byte aByte)This will ensure that the value for a byte >=0.voidsetKey(byte[] key)This will reset the key to be used.private static voidswap(int[] data, int firstIndex, int secondIndex)This will swap two values in an array.voidwrite(byte[] data, int offset, int len, java.io.OutputStream output)Deprecated.This method will be removed in 4.0.private voidwrite(byte[] data, int offset, int len, java.io.OutputStream output, byte[] buffer)This will encrypt and write the data.voidwrite(byte[] data, java.io.OutputStream output)This will encrypt and write the data.voidwrite(byte aByte, java.io.OutputStream output)Deprecated.This method will be removed in 4.0.voidwrite(java.io.InputStream data, java.io.OutputStream output)This will encrypt and write the data.
-
-
-
Method Detail
-
setKey
public void setKey(byte[] key)
This will reset the key to be used.- Parameters:
key- The RC4 key used during encryption.
-
fixByte
private static int fixByte(byte aByte)
This will ensure that the value for a byte >=0.- Parameters:
aByte- The byte to test against.- Returns:
- A value >=0 and < 256
-
swap
private static void swap(int[] data, int firstIndex, int secondIndex)This will swap two values in an array.- Parameters:
data- The array to swap from.firstIndex- The index of the first element to swap.secondIndex- The index of the second element to swap.
-
encrypt
private int encrypt(byte aByte)
-
write
@Deprecated public void write(byte aByte, java.io.OutputStream output) throws java.io.IOExceptionDeprecated.This method will be removed in 4.0.This will encrypt and write the next byte.- Parameters:
aByte- The byte to encrypt.output- The stream to write to.- Throws:
java.io.IOException- If there is an error writing to the output stream.
-
write
public void write(byte[] data, java.io.OutputStream output) throws java.io.IOExceptionThis will encrypt and write the data.- Parameters:
data- The data to encrypt.output- The stream to write to.- Throws:
java.io.IOException- If there is an error writing to the output stream.
-
write
public void write(java.io.InputStream data, java.io.OutputStream output) throws java.io.IOExceptionThis will encrypt and write the data.- Parameters:
data- The data to encrypt.output- The stream to write to.- Throws:
java.io.IOException- If there is an error writing to the output stream.
-
write
@Deprecated public void write(byte[] data, int offset, int len, java.io.OutputStream output) throws java.io.IOExceptionDeprecated.This method will be removed in 4.0.This will encrypt and write the data.- Parameters:
data- The data to encrypt.offset- The offset into the array to start reading data from.len- The number of bytes to attempt to read.output- The stream to write to.- Throws:
java.io.IOException- If there is an error writing to the output stream.
-
write
private void write(byte[] data, int offset, int len, java.io.OutputStream output, byte[] buffer) throws java.io.IOExceptionThis will encrypt and write the data.- Parameters:
data- The data to encrypt, may be overwritten.offset- The offset into the array to start reading data from.len- The number of bytes to attempt to read.output- The stream to write to.buffer- The buffer to use, it can be altered and be identical to the data to encrypt.- Throws:
java.io.IOException- If there is an error writing to the output stream.
-
-