#spring-boot #encryption #jasypt
Вопрос:
У меня есть проект Spring Boot, в котором мне нужно зашифровать некоторые свойства в файле application.properties. Я пробовал использовать jasypt, но быстро столкнулся с проблемой: как зашифровать свойство, чтобы вставить его в конфигурацию? Я нашел несколько веб-страниц, которые позволяли мне шифровать и расшифровывать, но они использовали старый алгоритм вместо нового по умолчанию PBEWITHHMACSHA512ANDAES_256.
Ответ №1:
Вы можете использовать команду mvn, чтобы получить зашифрованное значение в свой конфигурационный файл.
Например, если вы хотите зашифровать значение mySecret, поместите значение в качестве свойства в файл application.properties, заключенный в квадратные скобки и с префиксом DEC.
secret.property.example.value=DEC(mySecret)
Теперь запустите команду шифрования с помощью mvn, указав пароль.
mvn jasypt:encrypt -Djasypt.encryptor.password="myPassword"
Выполнение приведенной выше команды создаст зашифрованное секретное значение и сохранит его в файле свойств. Ваша ценность будет выглядеть примерно так
secret.property.example.value=ENC(mySecretEncrypted)
Вы можете напрямую прочитать значение в приложении с аннотацией @Value, и строка, которую вы там получите, уже будет расшифрована.