com.healthmarketscience.jackcess.impl.office
Class RC4CryptoAPIProvider

java.lang.Object
  extended by com.healthmarketscience.jackcess.impl.BaseCryptCodecHandler
      extended by com.healthmarketscience.jackcess.impl.OfficeCryptCodecHandler
          extended by com.healthmarketscience.jackcess.impl.office.StreamCipherProvider
              extended by com.healthmarketscience.jackcess.impl.office.RC4CryptoAPIProvider
All Implemented Interfaces:
com.healthmarketscience.jackcess.impl.CodecHandler

public class RC4CryptoAPIProvider
extends StreamCipherProvider

Author:
James Ahlborn

Nested Class Summary
 
Nested classes/interfaces inherited from class com.healthmarketscience.jackcess.impl.OfficeCryptCodecHandler
OfficeCryptCodecHandler.Phase
 
Field Summary
 
Fields inherited from class com.healthmarketscience.jackcess.impl.BaseCryptCodecHandler
CIPHER_DECRYPT_MODE, CIPHER_ENCRYPT_MODE
 
Constructor Summary
RC4CryptoAPIProvider(com.healthmarketscience.jackcess.impl.PageChannel channel, byte[] encodingKey, ByteBuffer encProvBuf, byte[] pwdBytes)
           
 
Method Summary
 boolean canEncodePartialPage()
           
protected  org.bouncycastle.crypto.params.KeyParameter computeCipherParams(int pageNumber)
          Generates the cipher parameters for the given page number.
protected  StreamCipherCompat initCipher()
           
protected  org.bouncycastle.crypto.Digest initDigest()
           
protected  boolean verifyPassword(byte[] pwdBytes)
           
 
Methods inherited from class com.healthmarketscience.jackcess.impl.office.StreamCipherProvider
canDecodeInline, decodePageImpl, encodePageImpl, getStreamCipher, reset
 
Methods inherited from class com.healthmarketscience.jackcess.impl.OfficeCryptCodecHandler
bits2bytes, create, decodePage, encodePage, getDigest, getPhase, initCryptDigest, initPwdDigest, int2bytes, iterateHash
 
Methods inherited from class com.healthmarketscience.jackcess.impl.BaseCryptCodecHandler
applyPageNumber, blockDecrypt, blockDecryptBytes, blockEncrypt, decryptBytes, decryptBytes, decryptInit, decryptInit, encryptInit, encryptInit, fill, fixToLength, fixToLength, getBlockCipher, getCipherParams, getEncodingKey, getEncodingKey, getTempBuffer, hash, hash, hash, hash, isBlankKey, processBytesFully, readHeaderPage, streamDecrypt, streamEncrypt, toString, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RC4CryptoAPIProvider

public RC4CryptoAPIProvider(com.healthmarketscience.jackcess.impl.PageChannel channel,
                            byte[] encodingKey,
                            ByteBuffer encProvBuf,
                            byte[] pwdBytes)
Method Detail

canEncodePartialPage

public boolean canEncodePartialPage()

initDigest

protected org.bouncycastle.crypto.Digest initDigest()
Overrides:
initDigest in class OfficeCryptCodecHandler

initCipher

protected StreamCipherCompat initCipher()
Overrides:
initCipher in class StreamCipherProvider

computeCipherParams

protected org.bouncycastle.crypto.params.KeyParameter computeCipherParams(int pageNumber)
Description copied from class: BaseCryptCodecHandler
Generates the cipher parameters for the given page number.

Specified by:
computeCipherParams in class BaseCryptCodecHandler

verifyPassword

protected boolean verifyPassword(byte[] pwdBytes)
Specified by:
verifyPassword in class OfficeCryptCodecHandler


Copyright © 2010-2017 Health Market Science. All Rights Reserved.