Reponer
El uso del cifrado de configuración de Spring Cloud requiere descargar la extensión JCE para generar texto cifrado de longitudes infinitas. Enlace: http://www.oracle.com/technetwork/java/javase/downloads/jce8 download-2133166.html
Después de descargar, descifra y copie los dos paquetes JAR obtenidos en el directorio $ java_home/jre/lib/de seguridad.
Introducción
En un entorno de proyecto real, no almacenaremos texto confidencial, como contraseñas en el archivo de configuración para evitar que sea robado. Spring Cloud Config proporciona métodos de cifrado para cifrar el texto de texto sin formato en texto cifrado almacenado en archivos de configuración. Spring Cloud Config proporciona dos métodos de cifrado y descifrado, uno es el cifrado simétrico y el otro es el cifrado asimétrico. Este artículo mostrará primero cómo usar el cifrado simétrico.
Introducción al cifrado simétrico
El cifrado simétrico significa que ambas partes para la comunicación usan la misma clave para cifrar y descifrar el texto. Tiene dos métodos de cifrado:
El cifrado simétrico es una forma relativamente simple. Mientras ambas partes tengan la misma clave, pueden completar el cifrado y el descifrado del texto. Sin embargo, la desventaja del cifrado simétrico es que no puede autenticar la fuente. Es decir, si Alice y Bob se están comunicando, Alice usa la clave para pasar el texto encriptado a Bob, pero Eve intercepta el texto cifrado en el medio, y luego Eva reenvía el texto cifrado a Bob, haciendo que Bob piense erróneamente que Eve es Alice, lo que causará fuga de datos.
Código fuente del proyecto
Nube de código de gitee
Configurar configServer
Primero, necesitamos configurar una clave para el cifrado y agregar los siguientes elementos de configuración al archivo de configuración bootstrap.yml en nuestro proyecto configServer:
Cifrado: clave: thisismysecretkey
prueba
Utilizamos esta clave para cifrar un elemento de prueba de nuestro client Web. Spring Cloud Config proporciona rutas terminales cifradas y descifradas, /cifrado y /descifrar. Inicie configServer, y luego cifre nuestro texto de prueba usando /encrypt terminal:
Curl Localhost: 8888/cifrado -d 12345678
El resultado devuelto es (el resultado será diferente cada vez):
94c1027141add9844ec47f0be13caebb6b38ed1dcf99811b1a5cd2b874c64407
Luego, en nuestro repositorio de configuración remota, modifique la configuración webclient.yml y agregue una nueva configuración:
Prueba: contraseña: '{cifrado} 94c1027141add9844ec47f0be13caebb6b38ed1dcf99811b1a5cd2b874c64407'Se requieren las citas aquí, y luego {cifrado} indica que el elemento de datos es de texto cifrado. Entonces podemos verificar el descifrado:
Curl Localhost: 8888/Decrypt -d 94c1027141add9844ec47f0be13caebb6b38ed1dcf99811b1a5cd2b874c64407
En circunstancias normales, obtendremos 12345678 caracteres. Luego accedemos al archivo de configuración webclient.yml a través de URL y obtendremos el siguiente resultado:
{"Nombre": "Web-Client", "Perfiles": ["predeterminado"], "Etiqueta": NULL, "Versión": "6B73C56449ACEE907FCF37E50892A3AFDDBF63335", "Estado": NULL, "Propiedad "https://gitee.com/zxuqian/spring-cloud-config-remote/web-client.yml", "fuente": {"mensaje": "Este mensaje proviene del repositorio de configuración remota", "administración.endpoints.web.exposure.include": "*", "Test.password": "12345678"}]Verá que la prueba de prueba descifrada es 12345678.
Resumir
Lo anterior es el método de usar cifrado simétrico para archivos de configuración de configuración de Spring Cloud introducidos por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!