1
respuesta

Cifrar las constraseñas

En el curso hemos visto que en el archivo properties dejamos las claves en texto plano, ej: spring.datasource.password=root

Cuando enviamos nuestro códigofuente a otro entorno. estas son legibles. Hay forma de cifrar en este archivo esos valores confidenciales ?

1 respuesta

¡Hola Estudiante! Espero que estés bien.

Sí, hay formas de cifrar esos valores confidenciales para que no sean legibles cuando se envía el código fuente a otro entorno.

Una forma común en Spring Boot es utilizando la clase StandardPBEStringEncryptor de la biblioteca Jasypt. Aquí te muestro cómo puedes hacerlo:

  1. Agrega la dependencia de Jasypt en tu archivo pom.xml si estás utilizando Maven, o en tu archivo build.gradle si estás utilizando Gradle:
<dependency>
    <groupId>org.jasypt</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>
  1. En tu archivo application.properties, en lugar de escribir la contraseña en texto plano, puedes cifrarla utilizando la siguiente sintaxis:
spring.datasource.password=ENC(contraseña_cifrada)
  1. Genera una clave de cifrado. Puedes hacerlo ejecutando el siguiente comando en tu terminal:
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="tu_contraseña" password="tu_clave_de_cifrado" algorithm="PBEWithMD5AndDES" verbose=false

Reemplaza tu_contraseña con la contraseña que deseas cifrar y tu_clave_de_cifrado con una clave secreta que solo tú conozcas.

  1. Copia la contraseña cifrada generada por el comando anterior y pégala en lugar de contraseña_cifrada en el paso 2.

Con estos pasos, la contraseña estará cifrada en el archivo application.properties y no será legible cuando se envíe el código fuente a otro entorno.

Es importante tener en cuenta que la seguridad no es absoluta y siempre hay riesgos potenciales. Por lo tanto, es recomendable seguir buenas prácticas de seguridad adicionales, como proteger adecuadamente el acceso al archivo de configuración y utilizar otras medidas de seguridad para proteger tus aplicaciones.

Mucho éxito en todo lo que te propongas y si tienes más duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.