Class AesBytesEncryptor
java.lang.Object
org.springframework.security.crypto.encrypt.AesBytesEncryptor
- All Implemented Interfaces:
BytesEncryptor
Encryptor that uses AES encryption.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionAesBytesEncryptor(String password, CharSequence salt) Constructs an encryptor that uses AES encryption.AesBytesEncryptor(String password, CharSequence salt, @Nullable BytesKeyGenerator ivGenerator) Constructs an encryptor that uses AES encryption.AesBytesEncryptor(String password, CharSequence salt, @Nullable BytesKeyGenerator ivGenerator, AesBytesEncryptor.CipherAlgorithm alg) Constructs an encryptor that uses AES encryption.AesBytesEncryptor(SecretKey secretKey, @Nullable BytesKeyGenerator ivGenerator, AesBytesEncryptor.CipherAlgorithm alg) Constructs an encryptor that uses AES encryption. -
Method Summary
-
Constructor Details
-
AesBytesEncryptor
Constructs an encryptor that uses AES encryption. Example:AesBytesEncryptor encryptor = new AesBytesEncryptor(yourPassword, 5c0744940b5c369b);Constructed encryptor uses a 16-byte IV and CBC mode encryption. To specify a custom length IV, useAesBytesEncryptor(String, CharSequence, BytesKeyGenerator). To specify both, a custom length IV and a different encryption mode, useAesBytesEncryptor(String, CharSequence, BytesKeyGenerator, CipherAlgorithm).- Parameters:
password- the password valuesalt- the hex-encoded salt value
-
AesBytesEncryptor
public AesBytesEncryptor(String password, CharSequence salt, @Nullable BytesKeyGenerator ivGenerator) Constructs an encryptor that uses AES encryption. Example:AesBytesEncryptor encryptor = new AesBytesEncryptor(yourPassword, 5c0744940b5c369b, KeyGenerators.secureRandom(16));Constructed encryptor uses CBC mode encryption. To specify a different encryption mode, useAesBytesEncryptor(String, CharSequence, BytesKeyGenerator, CipherAlgorithm).- Parameters:
password- the password valuesalt- the hex-encoded salt valueivGenerator- the generator used to generate the initialization vector
-
AesBytesEncryptor
public AesBytesEncryptor(String password, CharSequence salt, @Nullable BytesKeyGenerator ivGenerator, AesBytesEncryptor.CipherAlgorithm alg) Constructs an encryptor that uses AES encryption. Example:AesBytesEncryptor encryptor = new AesBytesEncryptor(yourPassword, 5c0744940b5c369b, KeyGenerators.secureRandom(16), CipherAlgorithm.GCM);- Parameters:
password- the password valuesalt- the hex-encoded salt valueivGenerator- the generator used to generate the initialization vectoralg- theAesBytesEncryptor.CipherAlgorithmto be used
-
AesBytesEncryptor
public AesBytesEncryptor(SecretKey secretKey, @Nullable BytesKeyGenerator ivGenerator, AesBytesEncryptor.CipherAlgorithm alg) Constructs an encryptor that uses AES encryption.- Parameters:
secretKey- the secret (symmetric) keyivGenerator- the generator used to generate the initialization vector. If null, then a default algorithm will be used based on the providedAesBytesEncryptor.CipherAlgorithmalg- theAesBytesEncryptor.CipherAlgorithmto be used
-
-
Method Details
-
encrypt
public byte[] encrypt(byte[] bytes) Description copied from interface:BytesEncryptorEncrypt the byte array.- Specified by:
encryptin interfaceBytesEncryptor
-
decrypt
public byte[] decrypt(byte[] encryptedBytes) Description copied from interface:BytesEncryptorDecrypt the byte array.- Specified by:
decryptin interfaceBytesEncryptor
-