Я использую механизм шифрования там, где работаю, и требования охранника следующие:
- Создайте 256-битный ключ, используя PBKDF2WithHmacSHA512, секретный пароль, 256-битную соль и минимум 20000 итераций.
- Соль должна быть сгенерирована с помощью SecureRandom.getInstance ("SHA1PRNG");
- Зашифруйте с помощью AES256 с производным ключом.
Я пытаюсь использовать класс Jasypt StandardPBEStringEncryptor
encryptor.setPassword(PASSWORD);
encryptor.setAlgorithm("AES/CBC/PKCS5Padding");
encryptor.setKeyObtentionIterations(20000);
encryptor.setSaltGenerator(new RandomSaltGenerator());
encryptor.encrypt("something");
Когда я это сделаю, я получаю следующее исключение:
java.security.NoSuchAlgorithmException: AES / CBC / PKCS5Padding SecretKeyFactory недоступен
Я неправильно использую Jasypt? Что мне здесь не хватает?
Спасибо