Cifrado de archivos de configuración de SpringBoot

La mayoría de los proyectos necesitan usar el archivo de configuración. El archivo de configuración configura cierta información necesaria, como la información de conexión de la base de datos y la información del caché, y esta información está escrita en el archivo de configuración en texto sin formato, lo cual es bastante peligroso. A continuación, lo haré introducir una solución Al cifrar la información de configuración y colocarla en el archivo de configuración, el riesgo se reduce considerablemente.

No hay mucho que decir, simplemente vaya directamente al caso, el código es más útil que cualquier otra cosa.

1. Dependencias de importación

<!--jasypt加密依赖-->
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>

2. Cree una clase de prueba e inicie el cifrado

@Test
public void testEnc() {
    StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
    encryptor.setPassword("123456");
    String CloudCoder = encryptor.encrypt("CloudCoder");
    System.out.println("CloudCoder = " + CloudCoder);
}

Cadena de texto cifrado cifrada:

oKIdQ2pqK0mat7j/UnWNL+gNtJqWmsNG

3. Reemplace la información de configuración original

# ENC()标识加密串
my.config-username=CloudCoder
    替换成
my.config-username=ENC(oKIdQ2pqK0mat7j/UnWNL+gNtJqWmsNG)

4. Clave de cifrado

En cuanto a la clave de cifrado, generalmente se configura en los parámetros de la máquina virtual, y también se puede configurar en los parámetros de inicio si se inicia el paquete jar. Como dijeron algunos bloggers, escríbalo en el archivo de configuración, y no lo recomiendo encarecidamente. La información de configuración está encriptada originalmente. ¿No es el cifrado de la clave secreta escrita en el archivo de configuración igual a engaño? Esto no se recomienda Tan seco, usar mi método a continuación es suficiente.

desarrollador:

imagen

Parámetros de la máquina virtual

pinchar:

nohup java -Djasypt.encryptor.password=123456 -jar xxx.jar &

epílogo

视野决定上限,能力决定下限,努力决定空间, ¿Se siente muy simple? Sí, es así de fácil, porque el paquete jar está empaquetado por los predecesores, solo necesita usarlo, sigue siendo muy conveniente.

Supongo que te gusta

Origin blog.csdn.net/active_pig/article/details/121238034
Recomendado
Clasificación