Prefacio
Este artículo presenta principalmente los métodos relacionados de Jasypt para cifrar archivos de configuración de arranque de Spring. No diré mucho a continuación, echemos un vistazo a la introducción detallada juntos.
El método es el siguiente:
Presentando a Jasypt
<Spendency> <MoupRiD> com.github.ulisesbocchio </groupid> <artifactid> jasypt-spring-boot-starter </artifactid> <versión> 2.0.0 </versión> </pendency>
Generar cadenas para estar encriptadas
Cifrar el nombre de usuario y la contraseña de la base de datos
public static void main (string [] args) {BasictextEcryptor textenchror = new BasicExtExcryptor (); // sal (sal) requerida para cifrado Textencryptor.setPassword ("G0CVDZ7ojn6"); // Los datos se encriptarán (nombre de usuario o contraseña de la base de datos) String username = textInptor.Encrypt ("root"); Cadena contraseña = textencryptor.Encrypt ("root123"); System.out.println ("Nombre de usuario:"+nombre de usuario); System.out.println ("Password:"+Password); }La información de salida es:
Nombre de usuario: i8qgen4uoy2e1rhzrpstya ==
Contraseña: 6EAMH/RX5OXUVCA9IGNVTG ==
O use Maven para descargar el paquete JAR a Cinpt /maven/org/Jasypt/Jasypt/1.9.2/jasypt-1.9.2.Jar
java -cp jasypt -1.9.2.jar org.jasypt.intf.cli.JasyPtpBestringencryptionCli Password = G0CVDZ7ojn6 Algoritmo = PBewitHMD5AndDes Entrada = Root
La información de salida es:
---AMBIENTE----------------------
Tiempo de ejecución: Oracle Corporation Java Hotspot (TM) Servidor de 64 bits VM 25.171-B11--- Argumentos -------------------------------------------------------------------------------------------------------------------
Entrada: raíz
Algoritmo: Pbewithmd5anddes
Contraseña: G0CVDZ7ojn6---PRODUCCIÓN---------------------------
Gvkoz+sbfwire3ectizv1a ==
Simplemente copie los resultados bajo salida
Configurar archivos de propiedades
Configurar la cadena de cifrado generada (cadena de cifrado) en Application.Properties
# sal (sal) requerida para el cifrado jasypt.ecryptor.password = g0cvdz7ojn6# El método de cifrado predeterminado PBewithmd5andDes se puede cambiar a pbewithmd5andtripledes## jasypt.encryptor.algorithm = pbewithmd5andDesspring.datasource.username = enc (6eamh/rx5oxuvca9ignvtg ==) Primavera .dataSource.password = ENC (6EAMH/RX5OXUVCA9IGNVTG ==) Spring.DataSource.Password = ENC (6EAMH/RX5OXUVCA9IGNVTG ==)
Las clases de cifrado correspondientes son Basictextencor y StrongTextenChror
public BasictextEncryptor () {super (); this.ecryptor = new StandardPBeSTrinCryptor (); this.Encryptor.SetAlgorithm ("PBewithMd5anddes");} public StrongTextenCryPTOR () {super (); this.ecryptor = new StandardPBeSTrinCryptor (); this.ecryptor.setAlgorithm ("pbewithmd5andtripledes");} Diagrama de clases
Configurar el valor de sal durante la implementación
Para evitar que la sal (sal) se filtre, desagradable la contraseña. Puede usar el comando para pasar el valor de sal (sal) al implementar el proyecto.
java -jar -djasypt.encryptor.password = g0cvdz7ojn6 xxx.jar
O configurarlo en las variables de entorno del servidor para mejorar aún más la seguridad
Abrir /etc /archivo de perfil
vim /etc /perfilInsertar al final del archivo
Exportar jasypt_password = g0cvdz7ojn6Compilación
fuente /etc /perfilcorrer
java -jar -djasypt.encryptor.password = $ {jasypt_password} xxx.jar
Dirección oficial: https://github.com/ulisesbocchio/jasypt-spring-boot (descarga local)
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.