Druid数据库连接密码加密操作步骤

  • 1、 生成publicKey和password

    • 找到maven资源库中druid的jar包,如:C:Usersa.m2 epositorycomalibabadruid1.1.6,其中a为用户名。
    • 打开cmd,将路径切换至C:Usersa.m2 epositorycomalibabadruid1.1.6后运行命令:java -cp .druid-1.1.6.jar com.alibaba.druid.filter.config.ConfigTools pass@word1 (此为数据库实际密码)
    • 打开application.yml文件,将druid下的password的值替换为上面的password的值,再新增一个publicKey的属性,并赋予上面得到的值

    2、 修改web项目下config文件夹下DruidDataSourceConfigurer文件,

    • dataSource方法中增加四句代码(Properties  引入 import java.util.Properties;)

    public DruidDataSource dataSource() throws SQLException {

        DruidDataSource dataSource = new DruidDataSource();

        dataSource.setProxyFilters(Lists.newArrayList(statFilter(),configFilter()));

        Properties properties=new Properties();

        properties.setProperty("config.decrypt","true");

        properties.setProperty("config.decrypt.key",publicKey);

        dataSource.setConnectProperties(properties);

        return dataSource;

    }

    • 类中增加类变量(@Value 引入 import org.springframework.beans.factory.annotation.Value;)

    @Value("${spring.druid.publicKey}")

    private String publicKey;

    • 类中增加方法

    /**
    * 定义空Config类用于加密类的加载
    * */

    @Bean
    public ConfigFilter configFilter(){
    ConfigFilter configFilter=new ConfigFilter();
    return configFilter;
    }

     

原文地址:https://www.cnblogs.com/niuniu0108/p/13931628.html