org.apache.poi.poifs.crypt.xor
Class XOREncryptor

java.lang.Object
  extended by org.apache.poi.poifs.crypt.Encryptor
      extended by org.apache.poi.poifs.crypt.xor.XOREncryptor
All Implemented Interfaces:
java.lang.Cloneable

public class XOREncryptor
extends Encryptor
implements java.lang.Cloneable


Field Summary
 
Fields inherited from class org.apache.poi.poifs.crypt.Encryptor
DEFAULT_POIFS_ENTRY
 
Constructor Summary
protected XOREncryptor()
           
 
Method Summary
 XOREncryptor clone()
           
 void confirmPassword(java.lang.String password)
           
 void confirmPassword(java.lang.String password, byte[] keySpec, byte[] keySalt, byte[] verifier, byte[] verifierSalt, byte[] integritySalt)
           
protected  void createEncryptionInfoEntry(DirectoryNode dir)
           
 java.io.OutputStream getDataStream(DirectoryNode dir)
          Return a output stream for encrypted data.
 org.apache.poi.poifs.crypt.xor.XOREncryptor.XORCipherOutputStream getDataStream(java.io.OutputStream stream, int initialOffset)
           
protected  int getKeySizeInBytes()
           
 void setChunkSize(int chunkSize)
          Sets the chunk size of the data stream.
 
Methods inherited from class org.apache.poi.poifs.crypt.Encryptor
getDataStream, getDataStream, getDataStream, getEncryptionInfo, getInstance, getSecretKey, setEncryptionInfo, setSecretKey
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XOREncryptor

protected XOREncryptor()
Method Detail

confirmPassword

public void confirmPassword(java.lang.String password)
Specified by:
confirmPassword in class Encryptor

confirmPassword

public void confirmPassword(java.lang.String password,
                            byte[] keySpec,
                            byte[] keySalt,
                            byte[] verifier,
                            byte[] verifierSalt,
                            byte[] integritySalt)
Specified by:
confirmPassword in class Encryptor

getDataStream

public java.io.OutputStream getDataStream(DirectoryNode dir)
                                   throws java.io.IOException,
                                          java.security.GeneralSecurityException
Description copied from class: Encryptor
Return a output stream for encrypted data.

Specified by:
getDataStream in class Encryptor
Parameters:
dir - the node to write to
Returns:
encrypted stream
Throws:
java.io.IOException
java.security.GeneralSecurityException

getDataStream

public org.apache.poi.poifs.crypt.xor.XOREncryptor.XORCipherOutputStream getDataStream(java.io.OutputStream stream,
                                                                                       int initialOffset)
                                                                                throws java.io.IOException,
                                                                                       java.security.GeneralSecurityException
Overrides:
getDataStream in class Encryptor
Throws:
java.io.IOException
java.security.GeneralSecurityException

getKeySizeInBytes

protected int getKeySizeInBytes()

setChunkSize

public void setChunkSize(int chunkSize)
Description copied from class: Encryptor
Sets the chunk size of the data stream. Needs to be set before the data stream is requested. When not set, the implementation uses method specific default values

Overrides:
setChunkSize in class Encryptor
Parameters:
chunkSize - the chunk size, i.e. the block size with the same encryption key

createEncryptionInfoEntry

protected void createEncryptionInfoEntry(DirectoryNode dir)
                                  throws java.io.IOException
Throws:
java.io.IOException

clone

public XOREncryptor clone()
                   throws java.lang.CloneNotSupportedException
Overrides:
clone in class Encryptor
Throws:
java.lang.CloneNotSupportedException