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

java.lang.Object
  extended by org.apache.poi.hssf.record.crypto.Biff8EncryptionKey
Direct Known Subclasses:
Biff8RC4Key, Biff8XORKey

public abstract class Biff8EncryptionKey
extends java.lang.Object


Field Summary
protected  javax.crypto.SecretKey _secretKey
           
 
Constructor Summary
Biff8EncryptionKey()
           
 
Method Summary
static Biff8EncryptionKey create(byte[] salt)
          Create using the default password and a specified docId
static Biff8EncryptionKey create(java.lang.String password, byte[] salt)
           
static java.lang.String getCurrentUserPassword()
           
static void setCurrentUserPassword(java.lang.String password)
          Sets the BIFF8 encryption/decryption password for the current thread.
 boolean validate(byte[] saltData, byte[] saltHash)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_secretKey

protected javax.crypto.SecretKey _secretKey
Constructor Detail

Biff8EncryptionKey

public Biff8EncryptionKey()
Method Detail

create

public static Biff8EncryptionKey create(byte[] salt)
Create using the default password and a specified docId

Parameters:
salt - 16 bytes

create

public static Biff8EncryptionKey create(java.lang.String password,
                                        byte[] salt)

validate

public boolean validate(byte[] saltData,
                        byte[] saltHash)
Returns:
true if the keyDigest is compatible with the specified saltData and saltHash

setCurrentUserPassword

public static void setCurrentUserPassword(java.lang.String password)
Sets the BIFF8 encryption/decryption password for the current thread.

Parameters:
password - pass null to clear user password (and use default)

getCurrentUserPassword

public static java.lang.String getCurrentUserPassword()
Returns:
the BIFF8 encryption/decryption password for the current thread. null if it is currently unset.


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