Это очень странное требование. Обычная стратегия хранения паролей - хранить их хэши. Это не позволяет злоумышленнику получить пароли, если ему удалось получить доступ к вашей базе данных. Встроенные кодеры паролей Spring Security реализуют этот подход.
Идея использовать симметричное шифрование для хранения паролей в базе данных представляется менее безопасной, поскольку вам необходимо хранить секретный ключ где-то в вашем приложении, и вполне вероятно, что если злоумышленник получит доступ к вашей базе данных, он также может получить доступ к вашему секретному ключу, чтобы он мог расшифровать ваши пароли.
Однако, если вам необходимо выполнить повторный переход, следуя этому подходу, вы можете реализовать свой собственный PasswordEncoder
, который получает секретный ключ и использует шифрование AES, на основе некоторого руководства по использованию AES в Java.