crypto/src/main/java/org/springframework/security/crypto/encrypt/Encryptors.java
public static BytesEncryptor stronger(CharSequence password, CharSequence salt) {
		return new AesBytesEncryptor(password.toString(), salt,
				KeyGenerators.secureRandom(16), CipherAlgorithm.GCM);
	}
public static BytesEncryptor stronger(CharSequence password, CharSequence salt) {
		return new AesBytesEncryptor(password.toString(), salt,
				KeyGenerators.secureRandom(16), CipherAlgorithm.GCM);
	}
public static BytesEncryptor stronger ( CharSequence password , CharSequence salt ) { return new AesBytesEncryptor ( password . toString ( ) , salt , KeyGenerators . secureRandom ( 16 ) , CipherAlgorithm . GCM ) ; }
Creates a standard password-based bytes encryptor using 256 bit AES encryption with
Galois Counter Mode (GCM). Derives the secret key using PKCS #5's PBKDF2
(Password-Based Key Derivation Function #2). Salts the password to prevent
dictionary attacks against the key. The provided salt is expected to be
hex-encoded; it should be random and at least 8 bytes in length. Also applies a
random 16 byte initialization vector to ensure each encrypted message will be
unique. Requires Java 6.

@param password the password used to generate the encryptor's secret key; should
not be shared
@param salt a hex-encoded, random, site-global salt value to use to generate the
key

@see #standard(CharSequence, CharSequence) which uses the slightly weaker CBC mode
(instead of GCM)
Creates a standard password - based bytes encryptor using 256 bit AES encryption with Galois Counter Mode ( GCM ) . Derives the secret key using PKCS #5 s PBKDF2 ( Password - Based Key Derivation Function #2 ) . Salts the password to prevent dictionary attacks against the key . The provided salt is expected to be hex - encoded ; it should be random and at least 8 bytes in length . Also applies a random 16 byte initialization vector to ensure each encrypted message will be unique . Requires Java 6 .