org.apache.poi.hssf.record.crypto
Class Biff8XOR

java.lang.Object
  extended by org.apache.poi.hssf.record.crypto.Biff8XOR
All Implemented Interfaces:
Biff8Cipher

public class Biff8XOR
extends java.lang.Object
implements Biff8Cipher


Constructor Summary
Biff8XOR(int initialOffset, Biff8XORKey key)
           
 
Method Summary
 void setNextRecordSize(int recordSize)
           
 void skipTwoBytes()
          Used when BIFF header fields (sid, size) are being read.
 void startRecord(int currentSid)
           
 void xor(byte[] buf, int pOffset, int pLen)
          Decrypts a xor obfuscated byte array.
 int xorByte(int rawVal)
           
 int xorInt(int rawVal)
           
 long xorLong(long rawVal)
           
 int xorShort(int rawVal)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Biff8XOR

public Biff8XOR(int initialOffset,
                Biff8XORKey key)
Method Detail

startRecord

public void startRecord(int currentSid)
Specified by:
startRecord in interface Biff8Cipher

setNextRecordSize

public void setNextRecordSize(int recordSize)
Specified by:
setNextRecordSize in interface Biff8Cipher

skipTwoBytes

public void skipTwoBytes()
Used when BIFF header fields (sid, size) are being read. The internal Cipher instance must step even when unencrypted bytes are read

Specified by:
skipTwoBytes in interface Biff8Cipher

xor

public void xor(byte[] buf,
                int pOffset,
                int pLen)
Decrypts a xor obfuscated byte array. The data is decrypted in-place

Specified by:
xor in interface Biff8Cipher
See Also:
2.3.7.3 Binary Document XOR Data Transformation Method 1

xorByte

public int xorByte(int rawVal)
Specified by:
xorByte in interface Biff8Cipher

xorShort

public int xorShort(int rawVal)
Specified by:
xorShort in interface Biff8Cipher

xorInt

public int xorInt(int rawVal)
Specified by:
xorInt in interface Biff8Cipher

xorLong

public long xorLong(long rawVal)
Specified by:
xorLong in interface Biff8Cipher


Copyright 2016 The Apache Software Foundation or its licensors, as applicable.