Class RC4Cipher
- java.lang.Object
-
- org.apache.pdfbox.pdmodel.encryption.RC4Cipher
-
class RC4Cipher extends java.lang.Object
An implementation of the RC4 stream cipher.
-
-
Constructor Summary
Constructors Constructor Description RC4Cipher()
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static int
fixByte(byte aByte)
This will ensure that the value for a byte >=0.void
setKey(byte[] key)
This will reset the key to be used.private static void
swap(int[] data, int firstIndex, int secondIndex)
This will swap two values in an array.void
write(byte[] data, int offset, int len, java.io.OutputStream output)
This will encrypt and write the data.void
write(byte[] data, java.io.OutputStream output)
This will encrypt and write the data.void
write(byte aByte, java.io.OutputStream output)
This will encrypt and write the next byte.void
write(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.
-
write
public void write(byte aByte, java.io.OutputStream output) throws java.io.IOException
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.IOException
This 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.IOException
This 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(byte[] data, int offset, int len, java.io.OutputStream output) throws java.io.IOException
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.
-
-