Since version 1.9.0, jasypt will offer a core and several separate integration modules instead of a single artifact containing them all. This will allow a better integration between jasypt and the different versions of the supported technologies (Hibernate, Spring, etc.)
The new modules are:
Jasypt 1.9 adds support for Hibernate 4 and Hibernate 5 by creating specific jasypt-hibernate4 and jasypt-hibernate5 modules.
Features offered are the same as for Hibernate 3, but adapted to the new specific APIs of this new Hibernate major version.
Learn more at the Jasypt + Hibernate Guide.
Jasypt 1.9 adds to its existing Spring 3.0 support an XML namespace called encryption, which allows creating many jasypt artifacts as easily as:
<encryption:basic-text-encryptor password="jasypt"/>
...even when using complex environment-based configurations:
<encryption:encryptor-config id="conf" password-env-name="APP_PWD" string-output-type="hexa" algorithm="PBEWithMD5AndTripleDES"/> <encryption:string-encryptor id="myEncryptor" config-bean="conf"/>
The same goes for digesters / digester utils:
<encryption:basic-password-encryptor/> <encryption:byte-digester algorithm="SHA-1" salt-size-bytes="64"/>
Also, encryptable .properties files (.properties files which include encrypted entries that are transparently decrypted) can be easily created in a way equivalent to Spring's <util:properties/>:
<encryption:encryptable-properties encryptor="myEncryptor" location="classpath:connections.properties"/>
And an EncryptablePropertyPlaceholderConfigurer can be declared in a way equivalent to Spring's <context:property-placeholder/>, so that encrypted entries in .properties files can be resolved with ${...}:
<encryption:encryptable-property-placeholder encryptor="myEncryptor" location="classpath:application.properties"/>
Learn more at the Jasypt + Spring 3.0 Guide.
Jasypt 1.9 features for Spring 3.1 and Spring 4.0 are equivalent to those for Spring 3.0 --excluding those that were deprecated--. The new encryption namespace is also offered in Spring 3.1 and Spring 4.0.
Besides, jasypt provides an EncryptablePropertySource implementation of the new org.springframework.core.env.PropertySource interface for Environment-based configuration, and adapts the behaviour of its <encryption:property-placeholder/> to that of Spring 3.1 and Spring 4.0, which bases ${...} property resolution on querying the registered property sources.
Learn more at the Jasypt + Spring 3.1 and Spring 4.0 Guide.
Jasypt 1.9 adds support for Spring Security 4.0 by creating a new specific jasypt-springsecurity4 module.
Features offered are the same as for Spring Security 3, but adapted to the new specific APIs of this new Hibernate major version.
Learn more at the Jasypt + Spring Security Guide.
jasypt 1.9 adds specific support for Apache Wicket 1.5, due to some changes in its encryption APIs since 1.4.
Learn more at the Jasypt + Apache Wicket Guide.
Some minor bugs have already been fixed, and the project's unit-testing infrastructure has been significantly improved.