Class AgileEncryptionConfig
- java.lang.Object
-
- com.healthmarketscience.jackcess.crypt.AgileEncryptionConfig
-
public class AgileEncryptionConfig extends Object
The algorithms agile encryption is written with.Agile carries its parameters in the file, so a reader honours whatever it finds, but ms access writes only two combinations and there is no evidence it opens any other.
OFFICE_2010andOFFICE_2013are those two, measured from files ms access wrote. The enums below hold what has been verified rather than everything the format allows, so a configuration built by hand cannot name an algorithm which has never been tested.The block size and the hash size are not settable, because each follows from the algorithm chosen. A descriptor which disagrees with itself parses and then fails to decrypt, so the file would look written and only ms access would say otherwise.
- Author:
- James Ahlborn
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAgileEncryptionConfig.ChainingThe chaining modes which can be written.static classAgileEncryptionConfig.CipherThe ciphers which can be written, with the name the descriptor uses.static classAgileEncryptionConfig.HashThe hashes which can be written, with the length each produces.
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_SALT_SIZEthe salt size ms access writes in both of its profilesstatic intDEFAULT_SPIN_COUNTthe spin count ms access writes in both of its profilesstatic AgileEncryptionConfigOFFICE_2010what ms access writes by default, and still writes todaystatic AgileEncryptionConfigOFFICE_2013the stronger profile ms access 2013 writes
-
Constructor Summary
Constructors Constructor Description AgileEncryptionConfig(AgileEncryptionConfig.Cipher cipher, AgileEncryptionConfig.Chaining chaining, int keyBits, AgileEncryptionConfig.Hash hash)Uses the spin count and the salt size ms access writes, which are the same in both of its profiles.AgileEncryptionConfig(AgileEncryptionConfig.Cipher cipher, AgileEncryptionConfig.Chaining chaining, int keyBits, AgileEncryptionConfig.Hash hash, int spinCount, int saltSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetBlockSize()Returns the cipher block size, which follows from the cipher.AgileEncryptionConfig.ChaininggetChaining()AgileEncryptionConfig.CiphergetCipher()AgileEncryptionConfig.HashgetHash()intgetHashSize()Returns the hash length, which follows from the hash.intgetKeyBits()intgetSaltSize()intgetSpinCount()StringtoString()
-
-
-
Field Detail
-
DEFAULT_SPIN_COUNT
public static final int DEFAULT_SPIN_COUNT
the spin count ms access writes in both of its profiles- See Also:
- Constant Field Values
-
DEFAULT_SALT_SIZE
public static final int DEFAULT_SALT_SIZE
the salt size ms access writes in both of its profiles- See Also:
- Constant Field Values
-
OFFICE_2010
public static final AgileEncryptionConfig OFFICE_2010
what ms access writes by default, and still writes today
-
OFFICE_2013
public static final AgileEncryptionConfig OFFICE_2013
the stronger profile ms access 2013 writes
-
-
Constructor Detail
-
AgileEncryptionConfig
public AgileEncryptionConfig(AgileEncryptionConfig.Cipher cipher, AgileEncryptionConfig.Chaining chaining, int keyBits, AgileEncryptionConfig.Hash hash)
Uses the spin count and the salt size ms access writes, which are the same in both of its profiles.
-
AgileEncryptionConfig
public AgileEncryptionConfig(AgileEncryptionConfig.Cipher cipher, AgileEncryptionConfig.Chaining chaining, int keyBits, AgileEncryptionConfig.Hash hash, int spinCount, int saltSize)
-
-
Method Detail
-
getCipher
public AgileEncryptionConfig.Cipher getCipher()
-
getChaining
public AgileEncryptionConfig.Chaining getChaining()
-
getKeyBits
public int getKeyBits()
-
getHash
public AgileEncryptionConfig.Hash getHash()
-
getSpinCount
public int getSpinCount()
-
getSaltSize
public int getSaltSize()
-
getBlockSize
public int getBlockSize()
Returns the cipher block size, which follows from the cipher.
-
getHashSize
public int getHashSize()
Returns the hash length, which follows from the hash.
-
-