Package org.apache.poi.poifs.crypt
Class ChunkedCipherOutputStream
java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
org.apache.poi.poifs.crypt.ChunkedCipherOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
-
Constructor Summary
ConstructorsConstructorDescriptionChunkedCipherOutputStream(OutputStream stream, int chunkSize) ChunkedCipherOutputStream(DirectoryNode dir, int chunkSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()final CipherinitCipherForBlock(int block, boolean lastChunk) voidsetNextRecordSize(int recordSize, boolean isPlain) Some ciphers (actually just XOR) are based on the record size, which needs to be set before encryptionvoidwrite(byte[] b) voidwrite(byte[] b, int off, int len) voidwrite(int b) voidwritePlain(byte[] b, int off, int len) Methods inherited from class java.io.FilterOutputStream
flushMethods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
ChunkedCipherOutputStream
public ChunkedCipherOutputStream(DirectoryNode dir, int chunkSize) throws IOException, GeneralSecurityException - Throws:
IOExceptionGeneralSecurityException
-
ChunkedCipherOutputStream
public ChunkedCipherOutputStream(OutputStream stream, int chunkSize) throws IOException, GeneralSecurityException - Throws:
IOExceptionGeneralSecurityException
-
-
Method Details
-
initCipherForBlock
public final Cipher initCipherForBlock(int block, boolean lastChunk) throws IOException, GeneralSecurityException - Throws:
IOExceptionGeneralSecurityException
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException
-
write
- Overrides:
writein classFilterOutputStream- Throws:
IOException
-
writePlain
- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterOutputStream- Throws:
IOException
-
setNextRecordSize
public void setNextRecordSize(int recordSize, boolean isPlain) Some ciphers (actually just XOR) are based on the record size, which needs to be set before encryption- Parameters:
recordSize- the size of the next recordisPlain-trueif the record is unencrypted
-