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:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
@Internal public abstract class ChunkedCipherOutputStream extends java.io.FilterOutputStream
-
-
Constructor Summary
Constructors Constructor Description ChunkedCipherOutputStream(java.io.OutputStream stream, int chunkSize)ChunkedCipherOutputStream(DirectoryNode dir, int chunkSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()javax.crypto.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)
-
-
-
Constructor Detail
-
ChunkedCipherOutputStream
public ChunkedCipherOutputStream(DirectoryNode dir, int chunkSize) throws java.io.IOException, java.security.GeneralSecurityException
- Throws:
java.io.IOExceptionjava.security.GeneralSecurityException
-
ChunkedCipherOutputStream
public ChunkedCipherOutputStream(java.io.OutputStream stream, int chunkSize) throws java.io.IOException, java.security.GeneralSecurityException- Throws:
java.io.IOExceptionjava.security.GeneralSecurityException
-
-
Method Detail
-
initCipherForBlock
public final javax.crypto.Cipher initCipherForBlock(int block, boolean lastChunk) throws java.io.IOException, java.security.GeneralSecurityException- Throws:
java.io.IOExceptionjava.security.GeneralSecurityException
-
write
public void write(int b) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.FilterOutputStream- Throws:
java.io.IOException
-
writePlain
public void writePlain(byte[] b, int off, int len) throws java.io.IOException- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.FilterOutputStream- Throws:
java.io.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
-
-