关于java:springbootroute十一数据库配置信息加密

46次阅读

共计 1855 个字符,预计需要花费 5 分钟才能阅读完成。

Spring Boot 最大的特点就是主动配置了,大大的缩小了传统 Spring 框架的繁琐配置,通过几行简略的配置就能够实现其余组件的接入。比方你想要连贯 mysql 数据库,只须要的配置文件外面退出 mysql 的一些配置信息就能够了。为了爱护数据的安全性,越来越多的公司抉择加密这些重要信息。接下来一起来看看如何实现配置加密文件并且胜利连贯数据库的。

配置信息加密有好几种形式,这里我只具体的写一下我比拟罕用的一种形式。首先通过某种加密算法将用户名和明码进行加密,而后在配置文件中用加密串代替原来的明文。而后自定义数据源,在自定义数据源中解密用户名和明码。

SpringBoot 主动拆卸

SpringBoot 的主动拆卸,以前的推文中也具体的讲到过,明天简略来温习一下。在每个 Spring Boot 的利用的启动类上都能发现有一个注解 @SpringBootApplication,这个注解蕴含的注解@EnableAutoConfiguration 就是用来实现主动拆卸的。这个注解通过导入类 AutoConfigurationImportSelector,这个类中有一个办法selectImports,其作用就是扫描所有 jar 包中的META-INF/spring.factories 文件,去加载外面的具体实现类,实现主动拆卸。

spring-boot-autoconfigurejar 包的META-INF/spring.factories 文件中指定了一个类用来加载数据库配置信息,这个类就是org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

自定义数据源

这里应用 HikariDataSource 作为自定义的数据源,自定义的数据源目标就是为了解密配置文件中的配置信息。

@Configuration
public class DataSourceConfiguration {

    @Autowired
    DataSourceProperties properties;

    @Bean
    public DataSource dataSource() throws Exception{String username = Des3.decryptThreeDESECB(properties.getUsername(),Des3.DES3KEY);
        String password = Des3.decryptThreeDESECB(properties.getPassword(),Des3.DES3KEY);
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setDriverClassName(properties.getDriverClassName());
        dataSource.setJdbcUrl(properties.getUrl());
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }
}

配置文件信息如下:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/xxx
    username: aMkeRCLWqNw=
    password: rq-fzucH32I=

具体的加解密算法这里就不在提及了,依据具体要求抉择一种可逆的加密算法就能够了,如果还不是很理解加密算法的品种,能够参考我以前写的一篇文章——面试官:说一下你罕用的加密算法。

此是 spring-boot-route 系列的第十一篇文章,这个系列的文章都比较简单,次要目标就是为了帮忙首次接触 Spring Boot 的同学有一个零碎的意识。本文已收录至我的 github,欢送各位小伙伴star

github:https://github.com/binzh303/s…

点关注、不迷路

如果感觉文章不错,欢送 关注 点赞 珍藏,你们的反对是我创作的能源,感激大家。

如果文章写的有问题,请不要悭吝,欢送留言指出,我会及时核查批改。

如果你还想更加深刻的理解我,能够微信搜寻「Java 旅途」进行关注。回复「1024」即可取得学习视频及精美电子书。每天 7:30 准时推送技术文章,让你的下班路不在孤单,而且每月还有送书流动,助你晋升硬实力!

正文完
 0