Changes from 1.4.1 to 1.5

  • Dependency on ICU4j made optional in Java 6 environments.
  • Created new versions of old ACEGI's PasswordEncoder and PBEPasswordEncoder for Spring Security 2.x in package org.jasypt.spring.security2.
  • Random number generation algorithm can now be specified in RandomSaltGenerator.
  • Fixed bug in .sh files in the bin folder. $@ did not work with inputs that contained spaces and had to be substituted by "$@".

Changes from 1.4 to 1.4.1

  • Fixed bug in EncryptedPasswordC3P0ConnectionProvider which made decryption of datasource configuration not to work properly.

Changes from 1.3.1 to 1.4

  • Added methods to Simple* and Environment* config classes for both Digesters and PBEEncryptors to allow them to be configured entirely with Strings.
  • Added to org.jasypt.encryption.pbe.StandardPBEByteEncryptor a workaround for Sun JCE's bug 4953555 (http://bugs.sun.com/view_bug.do?bug_id=4953555).
  • Added org.jasypt.properties.EncryptableProperties as a java.util.Properties which allows transparent decryption of encrypted property values.
  • Moved org.jasypt.hibernate.ParameterNaming to org.jasypt.hibernate.type.ParameterNaming.
  • Added org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagerConnectionProvider and org.jasypt.hibernate.connectionprovider.EncryptedPasswordC3P0ConnectionProvider for allowing encrypted datasource parameters in hibernate.cfg.xml files.
  • Added org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer and org.jasypt.spring.properties.EncryptablePropertyOverrideConfigurer to allow use of encrypted .properties files from within Spring applications in a transparent manner.
  • Package org.jasypt.springsecurity renamed as org.jasypt.spring.security, and deprecated classes in the old package (will be removed in 1.5).
  • Added org.jasypt.salt.ZeroSaltGenerator for creating salts filled with "zero" bytes.
  • Added org.jasypt.intf.service.JasyptStatelessService for supporting CLI operation and development of stateless services (like web services) for Jasypt.
  • Added org.jasypt.intf.cli.JasyptStringDigestCLI, org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI and org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI to allow the execution of digest, encryption and decryption commands from the command line, useful for knowing which value to write in an encrypted .properties file.
  • Created new zip distribution containing convenience .sh and .bat files for executing CLI tools.

Changes from 1.3 to 1.3.1

  • Solved configuration bug in "StandardPBEByteEncryptor.initialize()" for algorithms coming from *Config objects.

Changes from 1.2 to 1.3

  • A new open provider API which will allow the use of non-default JCE providers like Bouncy Castle. With this, any PBE or digest algorithm you can get from any JCE provider is available for you to use with Jasypt.
  • A new web PBE configuration system for avoiding storing encryption passwords in files in web applications, and instead asking the authorised admin for these passwords through a web form each time the application is deployed.
  • Ability to output Strings encoded in hexadecimal besides BASE64.

Changes from 1.1 to 1.2

  • Merged jasypt-hibernate and jasypt-spring-security into main jasypt trunk.
  • Numeric encryption functionalities:
    • New StandardPBEBigIntegerEncryptor and StandardPBEBigDecimalEncryptor in the org.jasypt.encryption.pbe package.
  • Salt generation functionalities:
    • Created new salt generation infrastructure, making different implementations of salt generation possible (including fixed salt). Jasypt now provides three implementations: secure random salt, fixed byte[]-based salt and fixed String-based salt.
  • Utils:
    • Refactored util package (org.jasypt.util) into several subpackages: binary, digest, numeric, password and text.
    • Created PasswordEncryptor and TextEncryptor interfaces, to unify both basic- and strong-encryption implementations. NOTE: the old org.jasypt.util classes have been DEPRECATED, and will be removed in jasypt 1.3.
    • Added org.jasypt.util.password.ConfigurablePasswordEncryptor for a more configurable way of using the "easy" password encryptor.
    • Added binary utils (org.jasypt.util.binary) for easy encryption of binaries.
    • Added new org.jasypt.util.numeric package with easy utils for numeric encryption.
  • Hibernate integration:
    • Refactored org.jasypt.hibernate package into new encryptor and type subpackages. NOTE: the old org.jasypt.hibernate classes have been DEPRECATED, and will be removed in jasypt 1.3.
    • Added HibernatePBEEncryptorRegistry support for BigInteger, BigDecimal and Byte encryptors.
    • Added creation of standard encryptor in Hibernate encryptor objects so that setEncryptor() method becomes optional and hibernate encryptors can be directly configured via setPassword(), setAlgorithm(), etc.
    • Added Hibernate type for encryption of binaries (byte[]) into SQL BLOBs.
    • Added Hibernate type for encryption of BigIntegers into SQL NUMERICs.
    • Added Hibernate type for encryption of BigDecimals into SQL NUMERICs.
    • Added Hibernate type for encryption of Bytes into SQL VARCHARs.
    • Added Hibernate type for encryption of Shorts into SQL VARCHARs.
    • Added Hibernate type for encryption of Integers into SQL VARCHARs.
    • Added Hibernate type for encryption of Longs into SQL VARCHARs.
    • Added Hibernate type for encryption of Floats into SQL VARCHARs.
    • Added Hibernate type for encryption of Doubles into SQL VARCHARs.
    • Added Hibernate type for encryption of Booleans into SQL VARCHARs.
    • Added Hibernate type for encryption of Dates into SQL VARCHARs.
    • Added Hibernate type for encryption of Calendars into SQL VARCHARs.
  • Spring Security (ACEGI) integration:
    • Refactored org.jasypt.springsecurity package: created new PasswordEncoder class for use with both org.jasypt.util.password.PasswordEncryptor or org.jasypt.digest.StringDigester implementations. NOTE: the old org.jasypt.springsecurity classes have been DEPRECATED, and will be removed in jasypt 1.3.
    • Created new org.jasypt.springsecurity.PBEPasswordEncoder for using org.jasypt.util.text.TextEncryptor or org.jasypt.pbe.encryptor.PBEStringEncryptor from ACEGI Security (bi-directional encryption of passwords).

Changes from 1.0 to 1.1

  • [jasypt-spring-security] Added the Spring Security (Acegi Security) integration module.
  • [jasypt] Added org.jasypt.util.StrongPasswordEncryptor as a util class for easy password encryption using a stronger algorithm.
  • [jasypt] Added org.jasypt.util.MessageDigester as a util class for creating simple binary message digests.
  • [jasypt] Added org.jasypt.digest.config.EnvironmentDigesterConfig and org.jasypt.encryption.pbe.config.EnvironmentPBEConfig for configuration of encryptors and digesters using environment variables and system properties.
  • [jasypt] Objects of class org.jasypt.util.PasswordEncryptor now initialize their internal StandardStringDigester at instance creation.
  • [jasypt] Made org.jasypt.digest.config.DigesterConfig and org.jasypt.encryption.pbe.config.PBEConfig extend java.io.Serializable