Cómo usar SpringBoot: biblioteca de cifrado y descifrado jasys

introducir

En un entorno de producción, si la base de datos está configurada en texto sin formato, habrá problemas de seguridad.Jasypt es una biblioteca general de cifrado y descifrado.

dependencias pom

<!--  数据库密码加密       -->
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.0.0</version>
</dependency>

Obtener texto cifrado, cifrar y descifrar datos

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;

public class EncryptUtils {

    public static void main(String[] arg){

        StandardPBEStringEncryptor standardPBEStringEncryptor =new StandardPBEStringEncryptor();
        /*配置文件中配置如下的算法*/
        standardPBEStringEncryptor.setAlgorithm("PBEWithMD5AndDES");
        /*配置文件中配置的password*/
        standardPBEStringEncryptor.setPassword("SMRsmr2022202220222022");
        /*解密:加密的文本*/
        System.out.println( standardPBEStringEncryptor.decrypt("PBu1ro5ySdVbYivoer5uPw=="));

        // 加密账号
        String name = standardPBEStringEncryptor.encrypt("root");
        // 加密密码
        String password =standardPBEStringEncryptor.encrypt("root");

        /*将加密的文本写到配置文件中*/
        System.out.println("name="+name);
        System.out.println("password="+password);
    }

}

Configuración en el archivo de configuración SpringBoot-yml

jasypt:
  encryptor:
    password: SMRsmr2022202220222022
    algorithm: PBEWithMD5AndDES

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/data?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
    username: ENC(wFn1/z2FEjXVQfynQphO7A==)
    password: ENC(PBu1ro5ySdVbYivoer5uPw==)

Supongo que te gusta

Origin blog.csdn.net/Ls66666Ls/article/details/131412513
Recomendado
Clasificación