public final class Biff8DecryptingStream extends java.lang.Object implements BiffHeaderInput, LittleEndianInput
| Modifier and Type | Field and Description |
|---|---|
static int |
RC4_REKEYING_INTERVAL |
| Constructor and Description |
|---|
Biff8DecryptingStream(java.io.InputStream in,
int initialOffset,
EncryptionInfo info) |
| Modifier and Type | Method and Description |
|---|---|
int |
available() |
long |
getPosition() |
static boolean |
isNeverEncryptedRecord(int sid)
TODO: Additionally, the lbPlyPos (position_of_BOF) field of the BoundSheet8 record MUST NOT be encrypted.
|
byte |
readByte() |
int |
readDataSize()
Reads an unsigned short value without decrypting
|
double |
readDouble() |
void |
readFully(byte[] buf) |
void |
readFully(byte[] buf,
int off,
int len) |
int |
readInt() |
long |
readLong() |
void |
readPlain(byte[] b,
int off,
int len)
Usually acts the same as
LittleEndianInput.readFully(byte[], int, int), but
for an encrypted stream the raw (unencrypted) data is filled |
int |
readRecordSID()
Reads an unsigned short value without decrypting
|
short |
readShort() |
int |
readUByte() |
int |
readUShort() |
public static final int RC4_REKEYING_INTERVAL
public Biff8DecryptingStream(java.io.InputStream in,
int initialOffset,
EncryptionInfo info)
throws RecordFormatException
RecordFormatExceptionpublic int available()
available in interface BiffHeaderInputavailable in interface LittleEndianInputpublic int readRecordSID()
readRecordSID in interface BiffHeaderInputpublic int readDataSize()
readDataSize in interface BiffHeaderInputpublic double readDouble()
readDouble in interface LittleEndianInputpublic void readFully(byte[] buf)
readFully in interface LittleEndianInputpublic void readFully(byte[] buf,
int off,
int len)
readFully in interface LittleEndianInputpublic int readUByte()
readUByte in interface LittleEndianInputpublic byte readByte()
readByte in interface LittleEndianInputpublic int readUShort()
readUShort in interface LittleEndianInputpublic short readShort()
readShort in interface LittleEndianInputpublic int readInt()
readInt in interface LittleEndianInputpublic long readLong()
readLong in interface LittleEndianInputpublic long getPosition()
public static boolean isNeverEncryptedRecord(int sid)
true if record type specified by sid is never encryptedpublic void readPlain(byte[] b,
int off,
int len)
LittleEndianInputLittleEndianInput.readFully(byte[], int, int), but
for an encrypted stream the raw (unencrypted) data is filledreadPlain in interface LittleEndianInputb - the byte array to receive the bytesoff - the start offset into the byte arraylen - the amount of bytes to fillCopyright 2018 The Apache Software Foundation or its licensors, as applicable.