Jasypt (Java Simplified Encryption) is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works. This release adds support for integration into Spring Security (ACEGI) enabled applications, as well as new utils and more advanced configuration capabilities.
A quick overview:
- Jasypt follows the RSA standardsfor password-basedcryptography, and provides you with both unidirectional andbidirectional encryption techniques.
- Higher security for your users’ passwords.Learn more.
- Binary encryption support.Besides texts, it allows the digest and encryption of binaries (byte arrays). Encrypt your objects when needed (for being sent over the net,for example).
- Completely thread-safe.
- Easy, no-configuration encryption toolsfor users new to encryption.
- Highly configurable standard encryption tools, for power-users.
- Hibernate3 integration add-on (jasypt-hibernate) for persisting fields of your mapped entities in an encrypted manner. Encryption of fields is defined in the Hibernate mapping files,and it remains transparent for the rest of the application (useful for sensitive personal data, databases with many read-enabled users…). Learn more.
- Seamlessly integrable into a Spring application. All the digesters and encryptors in jasypt are designed to be easily used (instantiated, dependency-injected…) from an IoC container like Spring. And, because of it being thread-safe, they can be used without worries in a singleton-oriented environment like Spring.Learn more.
- Spring Security (Acegi Security)add-on (jasypt-spring-security) for performing password encryption and matching tasks for the security framework, improving the security ofyour users’ passwords by using safer password encryption mechanismsand providing you with a higher degree of configuration and control. Learn more.
- Comprehensive guides and javadoc documentation, to allow developers to better understand what they are really doing to their data.
- Robust charset support, designed to adequately encrypt and digest texts whichever the original charset is. Complete support for languages like Japanese, Korean, Arabic… with no encoding or platform issues.
- Very high level of configuration capabilities: The developer can implement tricks like instructing an “encryptor” to ask a, for example, remote HTTPS server for the password to be used for encryption. It lets you meet your security needs. Learn more.
You can have a look at it at http://www.jasypt.org.