Пополнить
Использование шифрования Cloud Config Spring требует загрузки расширения JCE для генерации шифров с бесконечной длиной. Ссылка: http://www.oracle.com/technetwork/java/javase/downloads/jce8-vload-2133166.html
После загрузки, расписки и скопируйте два пакета JAR, полученные в каталог $ java_home/jre/lib/security.
Введение
В реальной среде проекта мы не будем хранить конфиденциальный текст, такой как пароли в файле конфигурации, чтобы предотвратить его похищен. Cloud Config Spring предоставляет методы шифрования для шифрования текста с открытым текстом в Ciphertext, хранящийся в файлах конфигурации. Конфигурация Spring Cloud обеспечивает два метода шифрования и дешифрования, один из них является симметричным шифрованием, а другой - асимметричное шифрование. Эта статья сначала покажет, как использовать симметричное шифрование.
Введение в симметричное шифрование
Симметричное шифрование означает, что обе стороны в связи используют один и тот же ключ для шифрования и расшифровки текста. Он имеет два метода шифрования:
Симметричное шифрование - это относительно простой способ. Пока обе стороны имеют одинаковый ключ, они могут завершить шифрование и дешифрование текста. Однако недостаток симметричного шифрования состоит в том, что он не может аутентифицировать источник. То есть, если Алиса и Боб общаются, Алиса использует ключ для передачи зашифрованного текста Бобу, но Ева перехватывает зашифрованный текст в середине, а затем Ева пересылает зашифрованный текст, заставляя Боба ошибочно думать, что Ева - это Алиса, которая приведет к утечке данных.
Исходный код проекта
Gitee Code Cloud
Configure ConfigServer
Во -первых, нам нужно настроить ключ для шифрования и добавить следующие элементы конфигурации в файл конфигурации Bootstrap.yml в нашем проекте ConfigServer:
Encrypt: Key: Thisismyecretkey
тест
Мы используем этот ключ для шифрования тестового элемента нашего веб-клиента. Cloud Config Spring обеспечивает зашифрованные и расшифрованные терминальные пути, /Encrypt и /Decrypt. Start Configserver, а затем мы шифруем наш тестовый текст, используя /шифровать терминал:
Curl Localhost: 8888/Encrypt -d 12345678
Результат возвращается (результат будет разным каждый раз):
94C1027141ADD984447F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
Затем в нашем репозитории удаленного конфигурации измените конфигурацию web-client.yml и добавьте новую конфигурацию:
Тест: пароль: '{cipher} 94C1027141ADD984447f0be13caebbb6b38ed1dcf99811b1a5cd2b874c64407'Цитаты здесь требуются, а затем {chipher} указывает, что элемент данных является зашифрованным текстом. Тогда мы можем проверить расшифрование:
Curl Localhost: 8888/Decrypt -D 94C1027141ADD984447F0BE13CAEBB6B38ED1DCF99811B1A5CD2B874C64407
При нормальных обстоятельствах мы получим 12345678 символов. Затем мы получаем доступ к файлу конфигурации web-client.yml через URL-адрес и получим следующий результат:
{"name": "web-client", "профили": ["по умолчанию"], "label": null, "версия": "6b73c56449ase907fcf37e50892a3afdddbf6335", "Состояние": NULL, "PropertySources": ["" "Имя": Имя "::" "https://gitee.com/zxuqian/spring-cloud-config-remote/web-client.yml", "Источник": {"Сообщение": "Это сообщение происходит из репозитория удаленной конфигурации", "Management.endpoints.web.exposture.include": "*", "Test.pass.:" 123467778 "?Вы увидите, что расшифрованное тест. Password - 12345678.
Суммировать
Выше приведено метод использования симметричного шифрования для файлов конфигурации облака Spring Cloud, введенных вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!