Jackcess Encrypt is an extension library for the Jackcess project which implements support for some forms of Microsoft Access and Microsoft Money encryption. Jackcess Encrypt is licensed under the Apache License (as of version 2.1.0).
This project is separate from the main Jackcess project for two main reasons:
While Jackcess Encrypt still only requires Java 8+, as of the 4.0.0 release it now includes an Automatic-Module-Name of com.healthmarketscience.jackcess.crypt in its manifest. This allows it to safely be used in the module path for Java 9+ projects. These changes correspond with the changes in Jackess 4.x.
As a consequence of supporting Java 9+ modules, the classes in this project needed to be moved to a new package in order to avoid the "split module" problem. The primary classes in this project are now in the com.healthmarketscience.jackcess.crypt package. This is a breaking change with respect to the 3.x release series.
Jackcess Encrypt now requires Java 8+ as of the 3.0.0 release. All third party dependencies have been updated to the latest versions. These changes correspond with the changes in Jackess 3.0.0.
In order to match the License changes made in Jackcess 2.1.0, the Jackcess Encrypt project has been relicensed under the Apache License, Version 2.0 (Jackcess Encrypt versions 2.1.0 and higher).
In order to match the API changes made in Jackess 2.0, the Jackcess Encrypt project has made a similar version change. Read the Upgrade Guide for full details.
This project's encryption support can be utilized by providing a CryptCodecProvider when opening an Access Database.
Database db = new DatabaseBuilder(myDbFile) .setCodecProvider(new CryptCodecProvider()) .open();
Database db = new DatabaseBuilder(myDbFile) .setCodecProvider(new CryptCodecProvider("MyDbPassword")) .open();