  -------
  Jasypt: Java simplified encryption - Features
  -------


Features
 
     * Jasypt provides you with easy unidirectional (digest) and bidirectional encryption
     techniques. 
     
     []
     
     * Open API for <<use with any JCE provider>>, and not only the default
     Java VM one. Jasypt can be easily used with well-known 
     providers like {{{http://www.bouncycastle.org}Bouncy Castle}}.
     {{{./non-default-providers.html}Learn more}}.
     
     []
     
     * <<Higher security for your users' passwords>>.
     {{{./encrypting-passwords.html}Learn more}}.
       
     []
     
     * <<Binary encryption support>>. Jasypt allows the
     digest and encryption of binaries (byte arrays). Encrypt your objects
     or files when needed (for being sent over the net, for example).
       
     []
     
     * <<Number encryption support>>. Besides texts and binaries, it allows the
     digest and encryption of numeric values (BigInteger and BigDecimal,
     other numeric types are supported when encrypting for Hibernate 
     persistence). {{{./encrypting-numbers.html}Learn more}}.
     
     []
     
     * Completely <<thread-safe>>.
     
     []
     
     * Support for encryptor/digester pooling, in order to achieve <<high performance
     in multi-processor/multi-core systems>>.
     
     []
     
     * Includes a <<lightweight ("lite") version of the library>> for better manageability
     in size-restrictive environments like mobile platforms. 
     
     []

     * Provides both <<easy, no-configuration encryption tools>> for users new to 
     encryption, and also <<highly configurable standard encryption tools>>, 
     for power-users.

     []
       
     * {{{http://www.hibernate.org}Hibernate 3, 4 and 5}} optional integration 
     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...). 
     Encrypt texts, binaries, numbers, booleans, dates...
     {{{./hibernate.html}Learn more}}.

     []
     
     * Seamlessly integrable into a {{{http://www.springframework.org}Spring}} application,
     with specific integration features for Spring 2, Spring 3.0, Spring 3.1 and Spring 4.0. All the 
     digesters and encryptors in jasypt are designed to be easily used 
     (instantiated, dependency-injected...) from Spring. And, because of their
     being thread-safe, they <<can be used without 
     synchronization worries in a singleton-oriented environment like 
     Spring>>. Learn more: {{{./spring2.html}Spring 2}}, {{{./spring3.html}Spring 3.0}}, 
     {{{./spring31.html}Spring 3.1}}, {{{./spring31.html}Spring 4.0}}.

     []
     
     * {{{http://static.springframework.org/spring-security/site/}Spring Security (formerly Acegi Security)}}
     optional integration
     for performing password encryption and matching tasks for the security
     framework, improving the security of your users' passwords by using
     <<safer password encryption mechanisms>> and providing you with a
     higher degree of <<configuration and control>>. {{{./springsecurity.html}Learn more}}.

     []
     
     * Provides <<advanced functionality for encrypting all or part of an application's
     configuration files>>, including sensitive information like
     database passwords. Seamlessly integrate encrypted configuration into
     plain, Spring-based and/or Hibernate-enabled applications. 
     {{{./encrypting-configuration.html}Learn more}}.

     []
     
     * Provides easy to use <<CLI (Command Line Interface) tools>>
     to allow developers initialise their encrypted data and include
     encryption/decryption/digest operations in maintenance tasks or scripts.
     {{{./cli.html}Learn more}}.

     []
     
     * <<Integrates into Apache Wicket>>, for more robust encryption of URLs 
     in your secure applications. 

     []
     
     * <<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>>. {{{./advancedconfiguration.html}Learn more}}.


Want to know more?

  To know more, check the {{{./faq.html}Frequently Asked Questions}} page.
  
  If you have questions, there is a {{{http://stackoverflow.com/questions/tagged/jasypt}"jasypt" tag in StackOverflow}}.
     