The implementation is split into the following packages:
agile package is part of the poi ooxml jar and the provides agile encryption support.binaryrc package is used for the fixed length RC4 encryption of biff/H**F formatscryptoapi package is used for the variable length RC encryption of biff/H**F formatsstandard package contains classes for the standard encryption ...xor package contains classes for the xor obfuscation of biff/H**F formats| Modifier and Type | Interface and Description |
|---|---|
| public interface |
| Modifier and Type | Class and Description |
|---|---|
| public abstract class | |
| public abstract class | |
| public class | CryptoFunctions
Helper functions used for standard and agile encryption |
| public class | |
| public abstract class | |
| public abstract class | EncryptionHeader
Reads and processes OOXML Encryption Headers The constants are largely based on ZIP constants. |
| public class | EncryptionInfo
Wrapper for the EncryptionInfo node of encrypted documents |
| public abstract class | EncryptionVerifier
Used when checking if a key is valid for a document |
| public abstract class |
| Modifier and Type | Enum and Description |
|---|---|
| public enum | |
| public enum | |
| public enum | |
| public enum | EncryptionMode
Office supports various encryption modes. |
| public enum |