数据库密码加密

使用druid的datasource设置数据库密码加密

...
@Configuration
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceAutoConfiguration {

@Resource DataSourceProperties properties;

    @Bean
public DataSource  dataSource() throws Exception {
    DruidDataSource dataSource = new DruidDataSource();
    dataSource.setUrl(properties.getUrl());             

// 获取配置中的加密密码,解密之后置入dataSource
String userName = properties.getUsername();
dataSource.setUsername(Crypt.decrypt(userName));
String passWord = properties.getPassword();
dataSource.setPassword(Crypt.decrypt(passWord));
dataSource.setDriverClassName(properties.getDriverClassName());
//检测连接是否有效的查询sql
dataSource.setValidationQuery("select 1");
//初始化时建立物理连接的个数
dataSource.setInitialSize(1);
//最小连接池数量
dataSource.setMinIdle(1);
//最大连接池数量
dataSource.setMaxActive(20);
//设置最大等待时间
dataSource.setMaxWait(60000);
//设置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
dataSource.setMinEvictableIdleTimeMillis(300000);
//申请连接时执行validationQuery检测连接是否有效,默认true
dataSource.setTestWhileIdle(true);
dataSource.setTestOnBorrow(false);
dataSource.setTestOnReturn(false);
//打开PSCache,并且指定每个连接上pscache的大小
dataSource.setPoolPreparedStatements(true);
dataSource.setMaxOpenPreparedStatements(20);
return dataSource;
}

}
...

可以用base64等加密,

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。