public abstract class Decryptor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_PASSWORD |
Constructor and Description |
---|
Decryptor() |
Modifier and Type | Method and Description |
---|---|
protected static int |
getBlockSize(int algorithm) |
abstract java.io.InputStream |
getDataStream(DirectoryNode dir)
Return a stream with decrypted data.
|
java.io.InputStream |
getDataStream(NPOIFSFileSystem fs) |
java.io.InputStream |
getDataStream(POIFSFileSystem fs) |
static Decryptor |
getInstance(EncryptionInfo info) |
abstract long |
getLength()
Returns the length of the encytpted data that can be safely read with
getDataStream(org.zkoss.poi.poifs.filesystem.DirectoryNode) . |
protected byte[] |
hashPassword(EncryptionInfo info,
java.lang.String password) |
abstract boolean |
verifyPassword(java.lang.String password) |
public static final java.lang.String DEFAULT_PASSWORD
public abstract java.io.InputStream getDataStream(DirectoryNode dir) throws java.io.IOException, java.security.GeneralSecurityException
Use getLength()
to get the size of that data that can be safely read from the stream.
Just reading to the end of the input stream is not sufficient because there are
normally padding bytes that must be discarded
dir
- the node to read fromjava.io.IOException
java.security.GeneralSecurityException
public abstract boolean verifyPassword(java.lang.String password) throws java.security.GeneralSecurityException
java.security.GeneralSecurityException
public abstract long getLength()
getDataStream(org.zkoss.poi.poifs.filesystem.DirectoryNode)
.
Just reading to the end of the input stream is not sufficient because there are
normally padding bytes that must be discarded
The length variable is initialized in getDataStream(org.zkoss.poi.poifs.filesystem.DirectoryNode)
,
an attempt to call getLength() prior to getDataStream() will result in IllegalStateException.
java.lang.IllegalStateException
- if getDataStream(org.zkoss.poi.poifs.filesystem.DirectoryNode)
was not calledpublic static Decryptor getInstance(EncryptionInfo info)
public java.io.InputStream getDataStream(NPOIFSFileSystem fs) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
public java.io.InputStream getDataStream(POIFSFileSystem fs) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
protected static int getBlockSize(int algorithm)
protected byte[] hashPassword(EncryptionInfo info, java.lang.String password) throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException
Copyright © 2005-2010 Potix Corporation. All Rights Reserved.